我从我们的项目供应商和应用程序中制作了两个javascript包.我按照文档建议的方式执行此操作,如我的brunch-config.js的此片段中所示:
files: {
javascripts: {
joinTo: {
'js/vendor.js': /^(?!source\/)/,
'js/app.js': /^source\//
},
entryPoints: {
'source/scripts/app.jsx': 'js/app.js'
}
}
}
Run Code Online (Sandbox Code Playgroud)
我最终得到了vendor.js和app.js. 但请查看文件大小:
注意app.js如何比vendor.js大!这个大尺寸使得观看速度比它需要的慢.在检查app.js的内容时,它似乎包含了lodash,React和其他库,我希望它可以从vendor.js获得.并且vendor.js似乎包含相同的库,我期望它们.
我的问题:为什么app.js中存在库?为什么app.js不会从vendor.js引用它们?
我可能错过了一些配置.这是我的完整brunch-config.js供您检查:
module.exports = {
files: {
javascripts: {
joinTo: {
'js/vendor.js': /^(?!source\/)/,
'js/app.js': /^source\//
},
entryPoints: {
'source/scripts/app.jsx': 'js/app.js'
}
},
stylesheets: {joinTo: 'css/core.css'},
},
paths: {
watched: ['source']
},
modules: {
autoRequire: {
'js/app.js': ['source/scripts/app']
}
},
plugins: {
babel: {presets: ['latest', 'react']},
assetsmanager: {
copyTo: {
'assets': ['source/resources/*']
}
},
static: { …Run Code Online (Sandbox Code Playgroud)