1.nodejs的方式:commonjs  var xx =require()   modules.exports=xxxx

注意:这种方式引入模块,路径会遵循node的规则,和js的src路径规则不同。

  规则参考:http://www.ruanyifeng.com/blog/2015/05/require.html

2.ES6的import和export关键字 和commonjs等价,会被babel转换成方式1

3.AMD方式: require([依赖],function(注入){   })

4.CMD 和commonjs差不多

webpack可以识别以上所有模块载入方式,同时还有自带的require.ensure()  以及webpack2又有import( ) 方法

总之,这都是为了打包文件的。使用commonjs的1方式,这些文件被打包在一个总的js文件里,如果想单独打包,要使用AMD方式或者commonjs异步的方式或者自带的方式。

babel仅仅将es6的import语法转译成commonjs的require语法,真正对语句操作的是webpack,如果不安装webpack,会报错method require is undefined.

其次,webpack可以识别并转换尾缀为vue的文件。vue文件又叫单文件组件,优点是可以把js和html和css放在一个文件中,并且html可以直接以html的形式书写,而不是在组件的js中拼接字符串。需要webpack+vue-loader进行处理。

vue-cli干了什么:既然vue需要搭配webpack打包干活,于是就有了vue-cli,是一个带有配置webpack(或者相似功能的browserify)的vue脚手架(完整的项目目录,以及package.json脚本配置等)

vuex是干什么的:和上面没有关系,vuex是让组件更好通信的,管理共用的状态。

vue组件:两种创建方式分别是全局和局部。注意传入vue.extend()返回的构造器,或直接传入options对象都是可以的,后者会默认调用vue.extend()

注意组件的data必须是一个函数(为了避免data被共用)

关于package.json  npm start = npm run start的缩写  其实npm run后面跟的字段主要取决于package.json文件中scripts下的配置,它是一个命令的快捷运行方式,必须配置"start" : node ./app.js 才可以使用npm run启动。同样也可以配置dev然后用npm run dev启动

在package.json的脚本中的命令是自带环境变量的,比如webpack命令会自动去找项目目录下node_modules下本地安装的webpack,而如果在命令行中调用又如果没有全局安装webpack,必须要带上webpack在项目文件夹中的路径,才能调用webpack。

Webpack打包方式及各场景下模块化语法总结的更多相关文章

  1. 三种Webpack打包方式

    准备工作mkdir webpack_demo && cd webpack_demo #新建文件夹npm init #创建package.json文件npm install --save ...

  2. Webpack 打包优化之体积篇

    谈及如今欣欣向荣的前端圈,不仅有各类框架百花齐放,如Vue, React, Angular等等,就打包工具而言,发展也是如火如荼,百家争鸣:从早期的王者Browserify, Grunt,到后来赢得宝 ...

  3. 10. vue之webpack打包详解

    一.什么是webpack webpack官网给出的定义是 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应 ...

  4. Webpack 打包之体积优化

    谈及如今欣欣向荣的前端圈,不仅有各类框架百花齐放,如Vue, React, Angular等等,就打包工具而言,发展也是如火如荼,百家争鸣:从早期的王者Browserify, Grunt,到后来赢得宝 ...

  5. [转] Webpack 打包优化之体积篇

    谈及如今欣欣向荣的前端圈,不仅有各类框架百花齐放,如Vue, React, Angular等等,就打包工具而言,发展也是如火如荼,百家争鸣:从早期的王者Browserify, Grunt,到后来赢得宝 ...

  6. Webpack 打包学习

    前段时间项目主管让测试组长研究webpack打包方式,闲暇时自己想学习一下,留着备用,本周日学习一下. https://www.jianshu.com/p/42e11515c10f

  7. vue-cli入门 - 搭建项目打包运行+webpack打包

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_38225558/article/d ...

  8. webpack打包非模块化js

    本文主要记录了非模块化js如何使用webpack打包 模块化打包实现方式 webpack是模块打包工具,通过入口文件递归遍历其依赖图谱,绝对是打包神器. bar.js export default f ...

  9. 前端项目模块化的实践2:使用 Webpack 打包基础设施代码

    以下是关于前端项目模块化的实践,包含以下内容: 搭建 NPM 私有仓库管理源码及依赖: 使用 Webpack 打包基础设施代码: 使用 TypeScript 编写可靠类库 使用 TypeScript ...

随机推荐

  1. 你真的了解word-wrap和word-break的区别吗? (转载)

    这两个东西是什么,我相信至今还有很多人搞不清,只会死记硬背的写一个word-wrap:break-word;word-break:break-all;这样的东西来强制断句,又或者是因为这两个东西实在是 ...

  2. ksonnet 一个简化编写以及部署kubernetes的工具

    ksonnet 是一个基于jsonnet的快速简化kubernetes yaml 配置的工具,可以实现配置的复用 同时也包含一个registry 的概念,可以实现可复用组件的分发,同时支持helm 环 ...

  3. SAS常用函数

    SAS常用函数 一.数学函数  ABS(x) 求x的绝对值. MAX(x1,x2,…,xn) 求所有自变量中的最大一个. MIN(x1,x2,…,xn) 求所有自变量中的最小一个. MOD(x,y) ...

  4. 996.icu 事件后

    996.icu 事件后 雇主 更加关注效率 减少成本 分工再细化 精简人员 雇员 法律意识加强 个人权利争取 效率低者下岗 技能提高 效率提高 影响 商业社会更有效率 人力市场竞争更加激烈 国内竞争力 ...

  5. FastAdmin 开发学习给输入框加上清除功能

    FastAdmin 开发学习给输入框加上清除功能 在社区上有小伙伴询问如果给输入框加上清除功能,因为有时修重新搜索时需要将输入框的内容快速清除,所以这个功能对用户非常友好. 如上图所示这种. 我看了一 ...

  6. PADS Logic Ref Des Start Value

    PADS Logic Ref Des Start Value 曾经以为 Mentor 把 PADS Logic 放弃了,没想到还加了一个非常实用的功能. 这个的好处是让元件号可以设置起始编号,方便每一 ...

  7. redis quick start

    软件: redis server https://github.com/MicrosoftArchive/redis/releases redis python client, install usi ...

  8. How to Export to Excel

    https://simpleisbetterthancomplex.com/tutorial/2016/07/29/how-to-export-to-excel.html Export data to ...

  9. elasticsearch _script 脚本排序

    具体脚本语法请自行搜索“Groovy”语法. { "from" : 0, "size" : 5, "query" : { "boo ...

  10. mac里安装Mycrypt扩展

    https://jingyan.baidu.com/article/e3c78d644cf1ed3c4c85f5a8.html 先用homebrew安装mycrpt 再下载php5.6版本源码 然后进 ...