Мне нужно добавить мою переменную process.env с помощью DefinePlugin в пакет веб-пакета, в конфигурации веб-пакета есть следующий код:
plugins: [
new webpack.DefinePlugin({
'process.env': JSON.stringify(process.env)
}),
ionicWebpackFactory.getIonicEnvironmentPlugin(),
ionicWebpackFactory.getCommonChunksPlugin()
],
В моем package.json у меня есть эта конфигурация:
"@ionic/app-scripts": "3.1.9",
"@types/jasmine": "^2.8.6",
"@types/node": "^9.6.6",
...
"html-loader": "^0.5.5",
....
"null-loader": "^0.1.1",
"ts-loader": "^4.0.0",
"ts-node": "^6.0.0",
"tslint": "^5.9.1",
"tslint-eslint-rules": "^5.1.0",
"typescript": "~2.6.2",
"webpack": "^4.6.0"
},
"config": {
"ionic_webpack": "./config/webpack.config.js"
},
У меня есть сервис, который использует process.env, внедренный плагином:
import { Injectable } from '@angular/core';
declare var process: {
env: any
};
@Injectable()
export class ConfigurationService {
Но когда я компилирую даже с использованием пряжи или npm, я получаю следующую ошибку:
[10:28:04] ionic-app-script task: "build"
[10:28:04] TypeError: Cannot read property 'compilation' of undefined
TypeError: Cannot read property 'compilation' of undefined
at DefinePlugin.apply ...\node_modules\webpack\lib
\DefinePlugin.js:42:18)
at Compiler.apply ( ...\node_modules\tapable\lib\Tapable.js:375:16)
И я не смог найти подобную проблему в Google.
Спасибо за вашу помощь.
Julien.