Проект строится нормально, когда mode = "development", но не "production" - все "не модуль ECMAScript"
В режиме Production автоматически используется ModuleConcatenationPlugin, в разработке нет такого, который имеет смысл,но я не могу понять, почему ModuleConcatenation недоволен.
В документах Webpack сказано: «Имейте в виду, что этот плагин будет применяться только к модулям ES6, обрабатываемым непосредственно веб-пакетом. При использовании транспилятора вам понадобитсяотключить обработку модулей (например, параметр modules в Babel) "- я не смог найти способ сделать это для машинописного текста, кроме установки параметра компилятора" module "в" es6 "?
Anyприветствуются идеи и предложения о том, как отследить проблему - я уже потратил на это целый день: (
My tsconfig.json:
{
"include": [
"src/browser/**/*",
"src/shared/typings/*"
],
"exclude": [
"node_modules"
],
"compilerOptions": {
"outDir": "./dist/public/",
"sourceMap": true,
"strict": true,
"noImplicitReturns": true,
"noImplicitAny": true,
"module": "es6",
"lib": [
"es6",
"dom"
],
"moduleResolution": "node",
"target": "es5",
"allowJs": true,
"resolveJsonModule": true,
"jsx": "react",
"allowSyntheticDefaultImports": true
}
}
Файл webpack.config:
const webpack = require('webpack');
const path = require('path');
const config = {
mode: "production",
entry: './src/browser/index.tsx',
output: {
path: path.resolve(__dirname, 'dist', 'public'),
filename: 'bundle.js'
},
module: {
rules: [
{
test: /\.(ts|tsx)?$/,
loader: 'awesome-typescript-loader',
options: {
useCache: false,
configFileName: 'test.tsconfig.json'
}
},
{
test: /\.(png|jp(e*)g|svg)$/,
use: 'file-loader'
},
]
},
resolve: {
extensions: [
'.tsx',
'.ts',
'.js'
]
}
}
module.exports = config;