dto*_*efp 10 javascript commonjs requirejs webpack
我正在尝试将一个变量注入我的webpack包中的每个模块,以便获得每个文件的JS错误的调试信息.我启用了
node: {
__filename: true
}
Run Code Online (Sandbox Code Playgroud)
在我的webpack.config中,但我想注入类似的东西
var filename = 'My filename is: ' + __filename;
Run Code Online (Sandbox Code Playgroud)
在编译之前进入每个模块.我已经看到了带有选项的Banner插件,raw但似乎这只会在webpack闭包之外注入横幅而不是我想要的将脚本注入每个模块的结果.
Mar*_*sen 19
我使用变量来解析webpack.config.js文件中的几个变量:
plugins: [
new webpack.DefinePlugin({
ENVIRONMENT: JSON.stringify(process.env.NODE_ENV || 'development'),
VERSION: JSON.stringify(require('./package.json').version)
})
]
Run Code Online (Sandbox Code Playgroud)
它可能不够动态,但如果是,那么您可以绕过该加载器解决方案.
编写自己的加载器:
my_project/my_loaders/filename-loader.js:
module.exports = function(source) {
var injection = 'var __filename = "' + this.resourcePath + '";\n';
return injection + source;
};
Run Code Online (Sandbox Code Playgroud)
将其添加到您的管道中并确保还添加配置:
resolveLoader: {
modulesDirectories: ["my_loaders", "node_modules"]
}
Run Code Online (Sandbox Code Playgroud)