什么是Webpack?我的webpack版本是3.10.0。安装Webpack可以全局安装也可以本地安装。对于部分安装,最好在安装的当前目录下运行。对外坚持使用webpack?然后就得在命令行输入安装webpack的路径。npminstall--savewebpack//这是部分安装./node_modules/.bin/webpack--help//使用部分安装需要路径。哇,你需要写路径。太麻烦了。没关系,那就全局安装吧。npminstall-gwebpack现在一般都是用webpack写配置文件,webpack.config.js,那我们就来说说配置文件怎么写。module.exports={devtool:'#eval-source-map',//这是打包方法entry:'./main.js',//入口文件。支持数组形式,将加载数组中的所有模块,但输出最后一个模块,对象形式也一样。output:{path:'./js',//打包后的文件存放位置publicPath:'/dist/',//下面详细解释filename:'build.js'//打包后的文件名},resolve:{//如果搜索模块,从这里开始,下面会详细说明。root:'D:/webpack-test/src',extensions:['.js','.json','.scss'],alias:{//下面的例子。}}};devtool:打包方法。(官网文档)devtool选项打包速度重构速度是否支持生产模式source-map--supporteval-source-map-+不支持cheap-module-source-map0-supportcheap-module-eval-source-map0++不支持cheap-source-map+0支持cheap-eval-source-map+++不支持eval++++++不支持自上而下,打包速度越来越快,开发环境一般使用eval-source-map,和生产环境可以自己考虑。毕竟,打包得越快,打包质量就越差。另外,不知道大家有没有发现eval不支持production模式。publicPath(官网文档)用于更新嵌入在css和html文件中的url值。abovepublicPath:'/dist/',例如:background-image:url('./test.png)//路径变成'/dist/.test.png'path:'/js'//打包在上面的文件位置,然后路径变为'/dist/js/build.js'publiccPath很重要。在生产模式下,“test.png”等文件可能位于CDN上,您的Node.js服务器可能运行在HeroKu(支持多种编程语言的云平台)上。一张图片,手动修改吧,如果你的网站有几百张图片,那么publicPath:'你服务器的ip地址',这样会省事很多。resolve(官网文档)root:包含你的模块的目录(绝对路径)。extensions:加载模块时要忽略的扩展。别名:模块别名定义。一些例子:'Abc':'/js/x/y/z/abc.js'//require('Abc');等同于require('/js/x/y/z/abc.js')//如果require('Abc/index.js'),这将不起作用。'Abc':'./js/x/y/z/abc.js'//如果该值为相对路径,它将相对于包含require的文件。//例如:test.js中的require('Abc'),那么test.js和abc.js必须在同一个目录下。'Abc':'/js/store'//require('Abc')等同于require('/js/store/index.js')//require('Abc/other.js')等同于require('/js/store/other.js')'Abc$':'/js/store'//require('Abc')等同于后面的require('/js/store/index.js')//带$,表示完全匹配'Abc'//如果require('Abc/other.js'),因为不完全匹配abc,则加载node_modules下abc文件夹下的other.js!!!教程(二)---module.loaders
