안녕하세요. 저는 현재 webpack을 사용하여 프로젝트 파일을 단일 파일로 묶습니다. 그러나 webpack이 내 config가 설정된 config.js 파일을 번들로 묶는 것을 원하지 않습니다. 나는 이것을 출력 폴더에서 별도로 유지하고 싶지만 이것을 달성하기에는 확신 할 수 없다.webpack에 번들로 제공되는 .js 파일을 방지하는 방법
내 현재 설정은
//index.js file
#!/usr/bin/env node
'use strict';
let config = require('config.js);
let read = require('read.js);
console.log('i am running through command line');
//read.js file
'use strict'
console.log('read a text file');
//config.js
'use strict';
module.exports = {
name: 'test'
}
//webpack.config.js
let webpack = require('webpack');
let path = require('path');
let fs = require('fs');
let nodeModules = {};
fs.readdirSync('node_modules')
.filter(function (x) {
return [ '.bin' ].indexOf(x) === -1;
})
.forEach(function (mod) {
nodeModules[mod] = 'commonjs ' + mod;
});
module.exports = {
entry: [ 'babel-polyfill', './index.js' ],
target: 'node',
node: {
__dirname: true
},
output: {
path: path.join(__dirname, 'webpack_bundle'),
filename: '[name].js',
libraryTarget: 'commonjs'
},
module: {
loaders: [
{
test: /\.js$/,
loader: 'shebang-loader'
},
{
test: /\.js$/,
loader: 'babel-loader',
query: {
presets: [ 'es2015' ]
}
} ]
},
resolve: {
extensions: [ '.js' ]
},
plugins: [
new webpack.BannerPlugin({banner: '#!/usr/bin/env node', raw: true
})
]
,
externals: nodeModules
};
주 : 나는이 index.js
파일이 들어있는 폴더 webpack_bundle
를 얻을 webpack
명령을 실행할 때 나는 상당히 간결 현재
에 대한 코드 예제를 단순화 - 인덱스 .js 파일에는 종속성 config.js
과 read.js
이 포함되어 있습니다. 그러나 read.js
종속성을 index.js
파일에 번들로 제공하지만 config.js
종속성은 번들로 제공되는 webpack 출력에 필요한 별도의 파일에 외부에 머물러 있기를 바랍니다. 따라서 webpack_bundle
폴더에는 webpack
명령 (index.js
및 config.js
)을 실행 한 후 두 개의 파일이 있어야합니다. 외부 개체 config: './config.js'
에 다음 키 값을 추가하여 외부 개체를 수정하려고 시도했지만이 방법은 작동하지 않습니다. 또한 엔트리 포인트로 config.js를 지정하여 추가 엔트리 포인트를 만들었지 만 이것도 작동하지 않았습니다. 나는 이것을 이해할 수 없으며 webpack 문서는 이것을 달성하는 방법에 대해 명확하지 않습니다. 도와주세요! 별도의 번들에 설정을 원하는 경우에
여기에 문서화 된 로더 배열에서 제외를 사용하십시오. https://webpack.github.io/docs/configuration.html#module-loaders –
제안을 시도했으나 실현 목표를 달성하지 못했습니다. – Dev