[webpack]path、publicPath、--content-base 理解

附源码:https://files.cnblogs.com/files/chenshao/startPublic.rar

 1 'use strict';
 2 var webpack = require('webpack');
 3 var path = require('path');
 4 
 5 //CLI:webpack-dev-server --content-base public
 6 
 7 module.exports = {
 8   entry: path.join(__dirname,"src","entry.js"),
 9   output: {
10     /*
11         webpack-dev-server环境下,path、publicPath、--content-base 区别与联系
12         path:指定编译目录而已(/build/js/),不能用于html中的js引用。
13         publicPath:虚拟目录,自动指向path编译目录(/assets/ => /build/js/)。html中引用js文件时,必须引用此虚拟路径(但实际上引用的是内存中的文件,既不是/build/js/也不是/assets/)。
14         --content-base:必须指向应用根目录(即index.html所在目录),与上面两个配置项毫无关联。
15         ===================================================
16         发布至生产环境:
17         1.webpack进行编译(当然是编译到/build/js/)
18         2.把编译目录(/build/js/)下的文件,全部复制到/assets/目录下(注意:不是去修改index.html中引用bundle.js的路径)
19     */
20     path: path.join(__dirname,"build","js"),
21     publicPath: "/assets/",
22     //publicPath: "http://cdn.com/assets/",//你也可以加上完整的url,效果与上面一致(不需要修改index.html中引用bundle.js的路径,但发布生产环境时,需要使用插件才能批量修改引用地址为cdn地址)。
23     filename: 'bundle.js'
24   }
25 };

 

posted @ 2017-02-03 15:34  陈少鑫  阅读(9401)  评论(1编辑  收藏  举报