Я использую closure-webpack-plugin
для доступа к компилятору замыкания из веб-пакета.
Это webpack.config. js:
const path = require('path');
const webpack = require('webpack');
const ClosurePlugin = require('closure-webpack-plugin');
module.exports = (env, argv) => {
const isProduction = true;
return {
entry: './src/ui/UiInit.js',
mode: isProduction ? "production" : "development",
devtool: "source-map",
output: {
filename: 'main.js',
path: path.resolve(__dirname, 'dist')
},
resolve: {
alias: {
'threeOrbitControls': path.join(__dirname, 'node_modules/three/examples/jsm/controls/OrbitControls.js'),
'threeOBJLoader': path.join(__dirname, 'node_modules/three/examples/jsm/loaders/OBJLoader.js')
}
},
plugins: [
new webpack.ProvidePlugin({
'THREE': 'three'
}),
],
module: {
rules: [
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
}
]
},
optimization: {
minimize: isProduction,
minimizer: [
new ClosurePlugin({
mode: 'STANDARD',
platform: "java",
}, {
// compiler flags here
//
// for debugging help, try these:
//
create_source_map: true,
// formatting: 'PRETTY_PRINT',
debug: !isProduction,
renaming: true
})
]
}
}
};
Проблема в том, что все предупреждения и ошибки, обнаруженные при закрытии, используют неправильные номера строк и "main. js" в качестве имени файла. Например:
WARNING in main.js:131750 from closure-compiler: Misplaced type annotation. Type annotations are not allowed here. Are you missing parentheses?
Итак, вопрос: как я могу сказать плагину использовать исходные имена файлов моих js файлов, а затем, надеюсь, распечатать правильные номера строк ...