怎么理解webpack中的output.filename 和output.chunkFilename
2016-08-05 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
filename应该比较好理解,就是对应于entry里面生成出来的文件名。比如:
{
entry: {
"index": "pages/index.jsx"
},
output: {
filename: "[name].min.js",
chunkFilename: "[name].min.js"
}
}
生成出来的文件名为index.min.js。
chunkname个人的理解是未被列在entry中,却又需要被打包出来的文件命名配置。什么场景需要呢?咱们项目就遇到过,在按需加载(异步)模块的时候,这样的文件是没有被列在entry中的,如使用CommonJS的方式异步加载模块:
require.ensure(["modules/tips.jsx"], function(require) {
var a = require("modules/tips.jsx");
// ...
}, 'tips');
异步加载的模块是要以文件形式加载哦,所以这时生成的文件名是以chunkname配置的,生成出的文件名就是tips.min.js。
(require.ensure() API的第三个参数是给这个模块命名,否则 chunkFilename: "[name].min.js" 中的[name] 是一个自动分配的、可读性很差的id,这是咱在文档很不起眼的地方发现的。。。)
{
entry: {
"index": "pages/index.jsx"
},
output: {
filename: "[name].min.js",
chunkFilename: "[name].min.js"
}
}
生成出来的文件名为index.min.js。
chunkname个人的理解是未被列在entry中,却又需要被打包出来的文件命名配置。什么场景需要呢?咱们项目就遇到过,在按需加载(异步)模块的时候,这样的文件是没有被列在entry中的,如使用CommonJS的方式异步加载模块:
require.ensure(["modules/tips.jsx"], function(require) {
var a = require("modules/tips.jsx");
// ...
}, 'tips');
异步加载的模块是要以文件形式加载哦,所以这时生成的文件名是以chunkname配置的,生成出的文件名就是tips.min.js。
(require.ensure() API的第三个参数是给这个模块命名,否则 chunkFilename: "[name].min.js" 中的[name] 是一个自动分配的、可读性很差的id,这是咱在文档很不起眼的地方发现的。。。)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询