描述你的问题
webpack 貌似对 require.ensure 是单独打包的,我该如何指定 require.ensure 打包的目标目录呢?
贴上相关代码
webpack的配置代码:
entry: {
'css/index': [path.join(process.cwd(), '/webapp/static/sass/index.scss'), ...(WATCH ? [HMR_URI] : [])],
'js/index': [path.join(process.cwd(), '/webapp/static/js/index.js'), ...(WATCH ? [HMR_URI] : [])]
},
output: {
path: path.join(process.cwd(), '/static/'),
// if your want to cdn, just change here
publicPath: '/static/',
sourcePrefix: '',
trunkFilename: DEBUG ? '[name].bundle.js' : '[name].[chunkhash:8].min.js',
filename: DEBUG ? '[name].bundle.js' : '[name].[chunkhash:8].min.js'
},
引用require.ensure代码:
import Animal from './base/animal';
require.ensure(['./base/animal'], function(require) {
console.log("start ...");
let obj = require('./modules/programmer');
let wayou = new obj.Programmer('wayou');
wayou.sayName();
wayou.program();
}, 'Programmer');
let animal = new Animal('dummy');
animal.sayName();
贴上相关截图
2016-2-11 问题补充
@公子 说的 output.path 是用来指定所有资源打包后的目录的。可能是我问题没有说明白,我的意思是,如何修改才可以单纯的指定代码分块的输出目录而又不影响其它资源的打包目录呢?
多谢 @公子 的提点,chunkFilename可以解决此问题,相关资料的连接是:
怎么理解webpack中的output.filename 和output.chunkFilename
希望能帮到跟我一样的朋友,此问题解决。