Javascript 带有AMD的网页包,生成单个文件

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文件,但这不是我们想要做的。我们需要一个单独的

实际上,我们正在从RequireJS迁移到Webpack,以便能够切换到CommonJS模块而不是AMD,而不必同时重构所有模块

我们在RequireJS中使用Almond,它允许我们生成客户使用的单个.js文件

我们想对Webpack做同样的事情,但实际上它生成了两个资产,一个用于发出JSONP调用以异步加载另一个资产

我们得到了:

  • 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
用法更新了我的原始问题。我刚刚添加了它,它成功了。