Webpack requer expressão externa
Eu tenho uma expressão exigir que deve ser resolvida em tempo de execução, mas não consigo entender a configuração do webpack neste exemplo simples:
import something from 'module';
import pkg from './package.json';
let a;
if (pkg.main) {
a = require(pkg.main);
}
A compilação resultante deve conter omodule
mas também exige./package.json
epkg.main
em tempo de execução como módulos commonjs - em outras palavras, exclua-os da construção.
Minhaswebpack.config.js
tão longe:
var webpack = require('webpack');
module.exports = {
entry: './src/main.js',
output: {
filename: '[name].js',
path: './build'
},
target: 'node-webkit',
plugins: [
new webpack.ExternalsPlugin('commonjs', './package.json')
],
module: {
noParse: /\.min\.js/,
exprContextRegExp: /$^/,
exprContextCritical: false,
loaders: [
{
test: /\.js$/,
loader: 'babel',
exclude: /node_modules/
}
]
}
};
O que acontece agora é a necessidade depkg.main
resulta emwebpackMissingModule
exceção e se eu removerexprContextRegExp
, o requisito usará o contexto.
Obrigado por qualquer ajuda