模块化

基于vue模块化开发后台系统——准备工作

那年仲夏 提交于 2019-12-06 04:15:31
文章目录如下: 项目效果预览地址 项目开源代码 基于vue模块化开发后台系统——准备工作 基于vue模块化开发后台系统——构建项目 基于vue模块化开发后台系统——权限控制 前言 本文章是以学习为主,练习一下vue的操作,可能存在一些不足,首先明确功能: 要有权限控制 存在会话记录 不使用第三方插件,从而自定义通用组件 在开始撸代码之前,先准备一下项目所需求的一些工具,俗话说:工欲善其事必先利其器。 Mock.js 由于本文没有后台做支撑,那么问题来了,如何去模拟数据?难道打算一个个去写模拟的json数据?在这里推荐 mock.js 进行模拟数据,如果你想更真实的实现有 跨域的数据 可以使用 easy-mock ,看看官方的效果图(如下),具体的用法请移步去 官方 ESLint 妈妈常说,要养成好的习惯!所以呢~~少不了代码规范,我使用的是eslint,在SublimeText最新版中安装了,如果你使用 vue-cli 来构建我们的项目,那么在初始化的时候就有提示我们是否安装 standard 和 airbnb 两种 lint 规范(我选择第一个),如果当时项目没选择,不要紧,运行eslint --init(前提是你已经正确安装,不然请自行度娘或者谷歌解决),然后有一个.eslintrc.js文件,由于默认提供的规范太少了,自行添加了一些, 0表示关闭,1表示警告,2表示开启

基于vue模块化开发后台系统——构建项目

余生颓废 提交于 2019-12-06 04:11:11
文章目录如下: 项目效果预览地址 项目开源代码 基于vue模块化开发后台系统——准备工作 基于vue模块化开发后台系统——构建项目 基于vue模块化开发后台系统——权限控制 前言 在熟悉上一篇说到准备工具之后,现在开始构建属于自己的项目,这是一个VUE的项目,那么使用vue-cli来构建,输入以下命令 vue init webpack xxxx 在构建过程中,因为之前说的要规范代码,因此在eslint这个提问中,要回复 Y 。等一切都结束后,我们来看看目录结构 项目目录结构 当然这个目录添加了一些,已经做了备注 (加) ,没备注的就是一样的 ├── build // 构建相关 ├── config // 配置相关 ├── dist // 打包之后相关 ├── node_modules // npm相关包 ├── src // 代码 │ ├── api // 请求接口文件(加) │ ├── assets // 静态资源(图片,样式等) │ ├── components // 全局公用组件 │ ├── directives // 全局指令(加) │ ├── mock // 项目mock 模拟数据(加) │ ├── pages // 相关页面(加) │ ├── router // 路由 │ ├── store // store管理(加) │ ├── App.vue // 入口页面 │ └

Oqtane是Blazor的模块化应用程序框架

无人久伴 提交于 2019-12-05 08:55:05
Oqtane是Blazor的模块化应用程序框架 Oqtane( https://www.oqtane.org/ )使用Blazor,这是.NET Core的新Web框架,可让您使用C#而不是JavaScript来构建交互式Web UI。 Blazor应用由使用C#,HTML和CSS实现的可重用Web UI组件组成。 客户端和服务器代码都是用C#编写的,允许您共享代码和库。 本项目被 DotNetNuke 项目影响(激发)。 来源: https://www.cnblogs.com/hopesun/p/11917526.html

汇编子程序模块化(near&far)

人走茶凉 提交于 2019-12-05 08:40:48
1: Near 近端使用 C语言实现: #include <stdio.h> #include <stdlib.h> void print(){ printf("proc"); } int main(int argc, char *argv[]) { print(); return 0; } 汇编实现: datas segment x db 'proc$'; datas ends stacks segment stack dw 100 dup(?) stacks ends codes segment assume cs:codes,ss:stacks,ds:datas main proc ; 主程序 start: mov ax,datas; mov ds,ax; call max mov ah,4ch; int 21h main endp print proc near ;子程序 push bp; mov bp,sp; mov dx,offset x; mov ah,09; int 21h pop bp ret 0 print endp codes ends end start near 调用没有段地址:使用的就是偏移地址 call 000C 地址就是子程序的入口地址 2: Far 远端使用 print 函数我们实现在另一个文件, C语言默认函数的extern的 也就是全局的 //

android插件化-apkplug从宿主启动插件Activity-06

佐手、 提交于 2019-12-05 06:26:25
插件是一个apk文件它存在自己的Activity界面和UI显示,本节将讲解如何配置插件的启动Activity以及怎样从宿主启动它。 一 配置插件apk的对外启动Activity (内部activity不需要配置) 与普通app不同,插件AndroidManifest.xml配置在apkplug框架中是无效的,我们需要在plugin.xml里面配置才能被apkplug所识别 具体设置属性为 Bundle-Activity="xxx.xxx.xxx.Activity" 只有设置为Bundle-Activity的activity才能从宿主中启动,否则将报"无法找到相应类的异常" 二 设置多个外部启动Activity 如果你有多个activity需要从外部启动的话可以用,分割 如 Bundle-Activity="a.b.c,d.e.f,j.q.p" 以上配置了三个activity,可以外部启动通过插件的Bundle.getBundleActivity() 可获取到这个字符串 Bundle.getBundleActivity().split(",")[0] 分割出对应的Activity类 三 启动activity 启动插件activity的方式很多,最简单的是以原生activity启动方式进行启动 Intent i=new Intent(); i.setClassName(mContext

前端模块化规范

邮差的信 提交于 2019-12-05 02:55:27
一、js模块化 命名空间 commonJS AMD/CMD/UMD ES6 module 二、命名空间 库名.类别名.方法名 var NameSpace = {} NameSpace.type = NameSpace.type || {} NameSpace.type.method = function () { } 三、commonJS规范 一个文件为一个模块,通过module.export暴露快接口,通过require引入模块,同步执行 commonJS 文档 示例: const Router = require('./router/route') export = module.exports = createApplication; 四、AMD规范 Async Module Definition 使用define定义模块 使用require加载模块 RequireJS 依赖前置,提前执行 AMD规范文档 示例: define( // 模块名字 "alpha", // 模块输出 ["require", "exports", "beta"], // 模块输出 function (require, exports, beta) { exports.verb = function () { return beta.verb(); return require("beta")

ES6 模块化的 基本语法

試著忘記壹切 提交于 2019-12-05 02:50:45
一、默认导入与导出 默认导出语法 export default 默认导出的成员,代码如下: // 当前模块 为 export1.js //定义私有成员 a 和 c let a = 10 let c = 20 // 外界访问不到 变量 d 因为其没有被 暴露出去 let d = 30 function show(){} // 将 本模块中的私有成员 暴露出去,供其他模块使用 export default { a, c, show } 默认导入语法 import 接收名称 from ‘模块接收符’,代码如下: // 导入模块成员 import export1 from './export1.js' console.log(export1) //打印输出结果为 // { a: 10, c: 20, show: [function show] } 注意: 在每一个模块中只允许使用唯一的一次 export default ,否则会报错 在一个模块中如果没有向外 export default ,则导入该模块时 默认输出 {} 二、按需导入与导出 按需导出 export let a = 10 ,代码如下: // 当前模块 为 export1.js // 向外按需 导出 a export let a = 'aaa' // 向外按需 导出 b export let b = 'bbb' // 向外按需

使用SeaJS实现模块化JavaScript开发

限于喜欢 提交于 2019-12-05 02:26:50
前言 SeaJS 是一个遵循 CommonJS 规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制。与 jQuery 等JavaScript框架不同,SeaJS不会扩展封装语言特性,而只是实现JavaScript的模块化及按模块加载。SeaJS的主要目的是令JavaScript开发模块化并可以轻松愉悦进行加载,将前端工程师从繁重的JavaScript文件及对象依赖处理中解放出来,可以专注于代码本身的逻辑。SeaJS可以与jQuery这类框架完美集成。使用SeaJS可以提高JavaScript代码的可读性和清晰度,解决目前JavaScript编程中普遍存在的依赖关系混乱和代码纠缠等问题,方便代码的编写和维护。 SeaJS的作者是淘宝前端工程师 玉伯 。 SeaJS本身遵循KISS(Keep It Simple, Stupid)理念进行开发,其本身仅有个位数的API,因此学习起来毫无压力。在学习SeaJS的过程中,处处能感受到KISS原则的精髓——仅做一件事,做好一件事。 本文首先通过一个例子直观对比传统JavaScript编程和使用SeaJS的模块化JavaScript编程,然后详细讨论SeaJS的使用方法,最后给出一些与SeaJS相关的资料。 传统模式 vs SeaJS模块化 假设我们现在正在开发一个Web应用TinyApp

使用SeaJS实现模块化JavaScript开发

半世苍凉 提交于 2019-12-05 02:26:38
前言 SeaJS是一个遵循CommonJS规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制。与jQuery等JavaScript框架不同,SeaJS不会扩展封装语言特性,而只是实现JavaScript的模块化及按模块加载。SeaJS的主要目的是令JavaScript开发模块化并可以轻松愉悦进行加载,将前端工程师从繁重的JavaScript文件及对象依赖处理中解放出来,可以专注于代码本身的逻辑。SeaJS可以与jQuery这类框架完美集成。使用SeaJS可以提高JavaScript代码的可读性和清晰度,解决目前JavaScript编程中普遍存在的依赖关系混乱和代码纠缠等问题,方便代码的编写和维护。 SeaJS的作者是淘宝前端工程师玉伯。 SeaJS本身遵循KISS(Keep It Simple, Stupid)理念进行开发,其本身仅有个位数的API,因此学习起来毫无压力。在学习SeaJS的过程中,处处能感受到KISS原则的精髓——仅做一件事,做好一件事。 本文首先通过一个例子直观对比传统JavaScript编程和使用SeaJS的模块化JavaScript编程,然后详细讨论SeaJS的使用方法,最后给出一些与SeaJS相关的资料。 传统模式 vs SeaJS模块化 假设我们现在正在开发一个Web应用TinyApp

Javascript模块化开发2——Gruntfile.js详解

旧巷老猫 提交于 2019-12-04 20:47:51
一、grunt模块简介 grunt插件,是一种npm环境下的自动化工具。对于需要反复重复的任务,例如压缩、编译、单元测试、linting等,自动化工具可以减轻你的劳动,简化你的工作。grunt模块根据Gruntfile.js文件中的配置进行任务。 如果在package.json中定义如下命令: "scripts": { "build": "npm install && grunt" } 因为运行npm run build会先安装devDependencies中定义的一些模块,则运行npm run build这个命令相当于做如下操作: npm install grunt-cli -g npm install grunt 二、gruntfile.js的结构: "wrapper" 函数 项目和任务配置 加载 grunt 插件和任务 自定义任务 三、"wrapper" 函数 每一份 Gruntfile.js(和grunt插件)都遵循同样的格式,你所书写的Grunt代码必须放在此函数内: module.exports = function(grunt){ //do grunt-related things in here } 四、项目和任务配置 大部分的Grunt任务都依赖某些配置数据,我们通过grunt.initConfig 方法来配置Grunt任务的参数。 grunt