В соответствии с Руководством по веб-пакету "Production" я пытаюсь добавить поддержку карты исходного кода в сборку выпуска / релиза.
Однако при попытке запустить я получаю исключениеWebpack в производственном режиме со следующим скриптом npm: webpack --mode production -p --devtool source-map
.Все, что он делает:
- устанавливает
mode
в production
- аргумент
-p
: shortcut for --optimize-minimize --define process.env.NODE_ENV="production"
- и устанавливает
devtool
до source-map
Исключение
Unhandled rejection Error: original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.
tsconfig
{
"compilerOptions": {
"outDir": "./dist",
"target": "es5",
"module": "commonjs",
"strict": true,
"noImplicitAny": true,
"noImplicitThis": true,
"noImplicitReturns": true,
"noUnusedParameters": true,
"sourceMap": true
},
"include": [
"src/**/*"
]
}
webpack config
const path = require('path');
module.exports = {
entry: './src/app.ts',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js'
},
resolve: {
extensions: ['.js', '.ts']
},
module: {
rules: [
{
test: /\.ts$/,
exclude: /node_modules/,
loader: 'ts-loader'
}
]
}
};
Что я пробовал
Сначала я следовал Руководству по TypeScript .Они также использовали сопоставление исходных кодов - главное отличие - загрузчик исходных карт, однако удаление кода ниже к правилам не помогает:
{
enforce: 'pre',
test: /\.js$/,
loader: 'source-map-loader'
}
Затем я попытался связываться с исходной картой.опции;в tsconfig изменили sourceMap
на inlineSourceMap
, в конфигурации веб-пакета source-map
на inline-source-map
(несмотря на то, что это не рекомендуется согласно руководству по веб-пакету), но безуспешно.
Наконец,добавление mode
и devtool
в конфигурацию webpack ничего не меняет, поэтому передача их в качестве аргументов выглядит нормально.
Обновление
Я думалЯ делаю мини проект репро, поэтому я удалил все дополнительные загрузчики (например, sass-loader).И все работало нормально.Поэтому я предполагаю, что существует проблема совместимости с одним из загрузчиков.
Обновление 2
После нескольких дней упорных попыток решить эту проблему,Я наконец удалил файл блокировки пакета и папку node_modules.Я запустил npm install
тогда все работает нормально ...