Javascript 带有AMD的网页包,生成单个文件
实际上,我们正在从RequireJS迁移到Webpack,以便能够切换到CommonJS模块而不是AMD,而不必同时重构所有模块 我们在RequireJS中使用Almond,它允许我们生成客户使用的单个.js文件 我们想对Webpack做同样的事情,但实际上它生成了两个资产,一个用于发出JSONP调用以异步加载另一个资产 我们得到了:Javascript 带有AMD的网页包,生成单个文件,javascript,requirejs,amd,webpack,Javascript,Requirejs,Amd,Webpack,实际上,我们正在从RequireJS迁移到Webpack,以便能够切换到CommonJS模块而不是AMD,而不必同时重构所有模块 我们在RequireJS中使用Almond,它允许我们生成客户使用的单个.js文件 我们想对Webpack做同样的事情,但实际上它生成了两个资产,一个用于发出JSONP调用以异步加载另一个资产 我们得到了: 1.bundle.js bundle.js bundle.js文件发出JSONP请求以加载1.bundle.js文件,但这不是我们想要做的。我们需要一个单独的
1.bundle.js
bundle.js
bundle.js
文件发出JSONP请求以加载1.bundle.js
文件,但这不是我们想要做的。我们需要一个单独的文件
是否可以只生成一个.js
文件
这是我的网页包配置,请注意,我们正在Gruntfile.coffee
文件中使用grunt网页包
任务
entry: './app/pack.coffee'
target: 'web'
output:
path: '.webpack/'
filename: 'app.js'
resolve:
root: path.resolve './app'
alias:
'underscore': path.resolve './vendors/underscore.js'
'backbone': path.resolve './vendors/backbone/backbone.js'
'accounting': path.resolve './vendors/accounting.js'
'moment': path.resolve './vendors/moment.js'
'tipsy': path.resolve './vendors/jquery.tipsy.js'
'json2': path.resolve './vendors/json2.js'
'backbone.wreqr': path.resolve './vendors/backbone.wreqr/lib/backbone.wreqr.js'
'backbone.babysitter': path.resolve './vendors/backbone.babysitter/lib/backbone.babysitter.js'
'backbone.marionette': path.resolve './vendors/marionette/lib/backbone.marionette.js'
'backbone.syphon': path.resolve './vendors/backbone.syphon.js'
'backbone.paginator': path.resolve './vendors/backbone.paginator.js'
'backbone.routefilter': path.resolve './vendors/routefilter/src/backbone.routefilter.js'
module:
loaders: [
{ test: /\.coffee$/, loader: "coffee-loader" },
{ test: /\.html/, loader: "raw-loader" },
{ test: /\.(coffee\.md|litcoffee)$/, loader: "coffee-loader?literate" }
]
plugins: [
new webpack.optimize.LimitChunkCountPlugin
maxChunks: 1
]
更新
使用
LimitChunkCountPlugin
似乎可以达到目的!不知道当您生成的文件较大时,出于优化目的,Webpack是否会创建多个块。使用LimitChunkCountPlugin
似乎可以做到这一点!不知道当生成的文件较大时,Webpack是否会创建多个块以进行优化
请查看原始问题中的更新,以了解我是如何包含它的。我也想做同样的事情,但我不确定为什么它仍然不能捆绑到单个文件中。你认为你可以粘贴你的
app/pack.coffee
文件的某些部分吗?我可能会做一些与你不同的事情。谢谢我用LimitChunkCountPlugin
用法更新了我的原始问题。我刚刚添加了它,它成功了。