내 HTML에서 자바 스크립트 라이브러리 용 스크립트 태그를 제거하려고하고 있으므로 템플릿 페이지에서 underscore.js가 제거되었습니다. Webpack을 통해 전 세계로 자바 스크립트 라이브러리 가져 오기
, 나는이import 'underscore';
나는이 작업을 수행 할 때 50K에 의해 파일이 증가 bundle.js 출력 웹팩의 크기에 따라 한 내하는 index.js (웹팩 엔트리 포인트) 내에서,이 교체, 그래서하려면 라이브러리가 bundle.js에 있음을 확인하십시오. 그러나 bundle.js가 포함 된 페이지의 콘솔에서 사용하려고하면 밑줄을 사용할 수 없습니다.
의견을 보내 주시면 감사하겠습니다. 이 웹팩 플러그인을 사용할 수 있음을 달성하기 위해
const webpack = require('webpack');
const path = require('path');
const precss = require('precss');
const autoprefixer = require('autoprefixer');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const postcssImport = require('postcss-import');
module.exports = {
context: __dirname + '/frontend',
devtool: 'source-map',
entry: './index.js',
output: {
filename: 'bundle.js',
path: path.join(__dirname, './static'),
},
module: {
loaders: [
{ test: /\.js$/, loader: 'babel', exclude: /node_modules/, query: { presets: ['es2015'] } },
{ test: /\.css$/, loader: ExtractTextPlugin.extract('style', 'css?sourceMap&importLoaders=1!postcss') },
],
},
vendor: [
'underscore',
],
plugins: [
new ExtractTextPlugin('si-styles.css'),
new webpack.ProvidePlugin({
underscore: 'underscore',
}),
],
postcss: function(webpack) {
return [
postcssImport({ addDependencyTo: webpack }), // Must be first item in list
precss,
autoprefixer({ browsers: ['last 2 versions'] }),
];
},
};
ES6'import' 문과 같은 모듈 시스템이 전역 공간을 오염시키지 않도록 설계 되었기 때문에'_'을 모듈 중 하나에서 가져 왔더라도 호출 할 수 없습니다. 여러분이 모듈을 전역 범위 나 전역 객체 ('window')에 할당해야만 모듈을 참조 할 수 있고 모듈을 가져온 모듈 밖에서 사용할 수 있습니다. WebPack에서 모든 모듈에 대해이 작업을 수행하는 방법은 [WebPack 문서] (https://webpack.github.io/docs/shimming-modules.html)를 참조하십시오. –