Мы фактически переходим от RequireJS к Webpack, чтобы иметь возможность переключаться на модули CommonJS вместо AMD без необходимости реорганизации всего одновременно.Webpack с AMD, генерирующий один файл
Мы используем Almond с RequireJS, что позволило нам сгенерировать один файл .js, который использовали наши клиенты.
Мы хотим сделать то же самое с Webpack, но на самом деле он генерирует два актива, один из которых вызывает вызов JSONP для асинхронного загрузки другого актива.
Мы получили, как:
1.bundle.js
bundle.js
bundle.js
файл делает запрос JSONP загрузить 1.bundle.js
файл, но это не то, что мы хотим сделать. Нам нужен отдельный автономный файл.
Возможно ли создать только один файл .js
?
Вот моя конфигурация веб-пакета, обратите внимание, что мы используем задачу grunt-webpack
внутри нашего файла Gruntfile.coffee
.
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
]
UPDATE
Использование в LimitChunkCountPlugin
, кажется, сделать трюк! Не знаю, создает ли Webpack несколько кусков, когда ваш сгенерированный файл является большим для целей оптимизации.
Я хочу сделать то же самое, но я не уверен, почему он все еще не связывает до одного файла. Как вы думаете, вы можете вставить часть вашего файла 'app/pack.coffee'? Я мог бы делать что-то другое, чем вы. Благодаря ! –
Я обновил свой оригинальный вопрос с использованием 'LimitChunkCountPlugin'. Я просто добавил его, и это сработало. –