新乡做新网站,广州工商注册查询系统官网,太原北京网站建设公司,品牌营销策划案例pptvue全家桶#xff08;四#xff09;前端工程化1.模块化的相关规范1.1模块化概述1.2模块化的分类A.浏览器端的模块化B.服务器端的模块化C.ES6模块化1.2.1 Node.js中通过bable体验ES6模块化1.2.2 ES6模块化的基本语法1.2.2.1 默认导出与默认导入1.2.2.2 按需导出与按需导入1.2.…
vue全家桶四前端工程化1.模块化的相关规范1.1模块化概述1.2模块化的分类A.浏览器端的模块化B.服务器端的模块化C.ES6模块化1.2.1 Node.js中通过bable体验ES6模块化1.2.2 ES6模块化的基本语法1.2.2.1 默认导出与默认导入1.2.2.2 按需导出与按需导入1.2.2.3 结合使用1.2.2.4 直接导入并执行模块代码2.webpack的用法3.vue单文件组件4.element-ui 的基本使用1.模块化的相关规范
1.1模块化概述
模块化就是把单独一个功能封装到一个模块文件中模块之间相互隔离但是可以通过特殊的接口公开内部成员也可以依赖别的模块
模块开发的好处方便代码的重用从而提升开发效率并且方便后期的维护
1.2模块化的分类
A.浏览器端的模块化 1).AMD(Asynchronous Module Definition,异步模块定义)代表产品为Require.js2).CMD(Common Module Definition,通用模块定义)代表产品为Sea.jsB.服务器端的模块化 服务器端的模块化规范是使用CommonJS规范1).使用require引入其他模块或者包2).使用exports或者module.exports导出模块成员3).一个文件就是一个模块都拥有独立的作用域C.ES6模块化
在语言层面上定义了ES6模块化规范是浏览器端与服务器端通用的模块化开发规范 ES6模块化规范中定义 1).每一个js文件都是独立的模块 2).导入模块成员使用import关键字 3).暴露模块成员使用export关键字
小结推荐使用ES6模块化因为AMDCMD局限使用与浏览器端而CommonJS在服务器端使用。 ES6模块化是浏览器端和服务器端通用的规范.
1.2.1 Node.js中通过bable体验ES6模块化
打开终端输入命令npm install --save-dev babel/core babel/cli babel/preset-env babel/node安装完毕之后再次输入命令安装npm install --save babel/polyfill在项目目录中创建babel.config.js文件。在项目目录中创建index.js文件作为入口文件 在index.js中输入需要执行的js代码例如 console.log(“ok”); 编辑js文件中的代码如下const presets [[babel/env,{targets:{edge:17,firefox:60,chrome:67,safari:11.1}}]]//暴露module.exports { presets }1.2.2 ES6模块化的基本语法
1.2.2.1 默认导出与默认导入 默认导出 export default 默认导出的成员默认导入import 接收名称 from /utils/common.js接收名称可以自定义每个模块中只允许使用唯一的一次export default否则会报错
1.定义 src\utils\common.js
const whetherList [{ value: 是, label: 是 },{ value: 否, label: 否 },
]
function show() {console.log(111111111111);
}
export default {whetherList,show}2.使用
import common from /utils/common.js//common 自定义的想要使用导出数据common.whetherList
data() {return {whetherList1: common.whetherList,}
},
mounted() {common.show()//直接调用console.log(treeDateAll1111,common.whetherList);},1.2.2.2 按需导出与按需导入 在每个模块中可以使用多次按需导出 1.定义 src\utils\common.js
export const s1 aaaaa
export let s2 ccccccexport function say(res) {console.log(12121212121212)
}2.使用
import {s1,s2,say} from /utils/common.js
console.log(treeDateAll1111, s1,s2,say);3.值得注意的地方定义什么名字引用什么名字s1,s2,say 4.想要更改名字 使用时,s2 as ss2s2已经不能使用了使用ss2
import {s1,s2 as ss2,say} from /utils/common.js
console.log(treeDateAll1111,common.whetherList, s1,ss2,say);1.2.2.3 结合使用
一个js文件只能使用一次默认导出export default多个按需导出export const s1 ‘aaaaa’
import common,{s1,s2 as ss2,say} from /utils/common.js
console.log(treeDateAll1111, s1,ss2,say);1.2.2.4 直接导入并执行模块代码
有时候我们只想单纯执行某个模块中的代码,并不需要得到模块中向外暴露的成员此时可以直接导入并执行模块代码 在src\utils\m2.js中
for (let i 0; i 3; i) {console.log(i, i);}在vue文件中直接引用import /utils/m2.js会直接打印出来
templatediv!-- 前端工程化 --div{{whetherList1}}/div/div
/templatescript
// import common,{s1,s2,say} from /utils/common.js
import common,{s1,s2 as ss2,say} from /utils/common.js
import /utils/m2.js
export default {name: basicKnowledgeFour,props: {},components: {},//common 自定义的想要使用导出数据common.whetherListdata() {return {whetherList1: common.whetherList,}},mounted() {common.show()//直接调用// console.log(treeDateAll1111, common.whetherList,s1,s2,say);console.log(treeDateAll1111, common.whetherList,s1,ss2,say);},methods: {}
}
/scriptstyle scoped
/style 2.webpack的用法
webpack概述 webpack是一个流行的前端项目构建工具打包工具可以解决当前web开发中所面临的困境。 webpack提供了友好的模块化支持以及代码压缩混淆处理js兼容问题性能优化等强大的功能从而让程序员把工作重心放到具体得功能实现上提高了开发效率和项目的可维护性。
目前绝大多数企业中的前端项目都是基于webpack进行打包构建的
3.vue单文件组件
vue单文件的基本用法 单文件组件的组成结构
template 组件的模板区域script业务逻辑区域style 样式区域 templatedivdiv{{whetherList1}}/div/div
/templatescriptexport default {name: basicKnowledgeFour,props: {},components: {},data() {return {}},mounted() {},methods: {}
}
/script
style scoped
/style
4.element-ui 的基本使用
https://element.eleme.cn/#/zh-CN 图标去阿里矢量库
运行
npm i element-ui -S在main.js文件中添加以下代码
import ElementUI from element-ui
import element-ui/lib/theme-chalk/index.css
import locale from element-ui/lib/locale/lang/zh-CN // lang i18n// set ElementUI lang to EN
Vue.use(ElementUI, { locale })// 如果想要中文版 element-ui按如下方式声明// Vue.use(ElementUI)