여러 진입 점을 사용하여 babel polyfill을 포함하는 가장 좋은 방법은 무엇입니까?
여러 진입 점을 사용하는 웹팩 구성을 사용하고 있습니다.
var fs = require('fs');
var webpack = require('webpack');
var commonsPlugin = new webpack.optimize.CommonsChunkPlugin('common.[hash].js');
module.exports = {
cache: true,
entry: {
main: './resources/assets/js/main.js',
services: './resources/assets/js/services.js'
},
output: {
path: './public/assets/web/js',
filename: '[name].[hash].js',
publicPath: '/assets/web/js/',
chunkFilename: '[id].[chunkhash].js'
},
resolve: {
modulesDirectories: ['node_modules', 'web_modules', 'modules']
},
module: {
loaders: [{
test: /\.js$/,
exclude: [/node_modules/, /web_modules/],
loader: 'babel-loader',
query: {
stage: 0
}
}]
},
plugins: [commonsPlugin,
new webpack.ProvidePlugin({
jQuery: 'jquery',
$: 'jquery',
'window.jQuery': 'jquery'
}),
function() {
this.plugin('done', function(stats) {
fs.writeFile('./cache.json', JSON.stringify({
hash: stats.hash
}));
});
}
]
};
내 webpack 구성에 babel polyfill 을 포함시키는 방법이 있습니까? 또는 설정에 포함하는 가장 좋은 방법은 무엇입니까?
모든 모듈에 필수로 포함해야합니까?
미리 감사드립니다!
가장 쉬운 방법은
main: './resources/assets/js/main.js',
services: './resources/assets/js/services.js'
되려고
main: ['babel-polyfill', './resources/assets/js/main.js'],
services: ['./resources/assets/js/services.js']
그래서 polyfill이 파일에 대해 알 필요없이 각 진입 점의 일부로로드되고 실행됩니다.
이는 main
및 둘 다 services
동일한 페이지에로드 되었다고 가정합니다 . 두 개의 개별 페이지 인 경우 babel-polyfill
두 배열 모두에 항목이 필요합니다.
노트
위의 내용 바벨 6 바벨 5. 적용, 당신은 것 npm install --save babel-polyfill
하고 사용 babel-polyfill
대신에 babel/polyfill
.
An alternative for development (perhaps not the best setup for production) would be to have babel-polyfill
in its own module:
entry: {
'babel-polyfill': ['babel-polyfill'],
main: './resources/assets/js/main.js',
services: './resources/assets/js/services.js'
}
Background: I tried the suggestion in the answer above and was still getting an error: "Only one instance of babel-polyfill is allowed". I'm using webpack 2 so maybe that's a factor. The above solution is fine for my purposes since I'm writing a reusable library to be included in larger apps, and just want a separate demo bundle in the library repo for testing purposes. But for a full app, it might not be a good idea to require an extra HTTP request to load the polyfill in production unless you're using HTTP/2.
'IT Share you' 카테고리의 다른 글
단항 연산자를 오버로드하는 타당한 이유는 무엇입니까? (0) | 2020.11.08 |
---|---|
setEnabled () 대 setClickable (), 차이점은 무엇입니까? (0) | 2020.11.08 |
Java- 'this'키워드를 사용하는 경우 (0) | 2020.11.07 |
MySQL : 쿼리의 datetime 필드에 하루를 추가하는 방법 (0) | 2020.11.07 |
장고 관리자의 양식 필드 설명 (0) | 2020.11.07 |