使用Ionic、Angular、Webpack和Typescript定义Plugin不起作用

使用Ionic、Angular、Webpack和Typescript定义Plugin不起作用,angular,typescript,npm,webpack,ionic3,Angular,Typescript,Npm,Webpack,Ionic3,我需要在webpack Bundle中使用DefinePlugin注入我的process.env变量,我在webpack config中有以下代码: plugins: [ new webpack.DefinePlugin({ 'process.env': JSON.stringify(process.env) }), ionicWebpackFactory.getIonicEnvironmentPlugin(), ionicWebpackFacto

我需要在webpack Bundle中使用DefinePlugin注入我的process.env变量,我在webpack config中有以下代码:

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)
我在谷歌上找不到任何类似的问题。 谢谢你的帮助

朱利安。

试着这样做

new webpack.DefinePlugin({
  'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
})
试着这样做

new webpack.DefinePlugin({
  'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV),
})

我在这里也遇到了同样的错误。我所做的修复工作是:确保所有加载程序都添加到
devdependency
中,并将这些加载程序升级到最新版本


请再次检查。

我在这里遇到了相同的错误。我所做的修复工作是:确保所有加载程序都添加到
devdependency
中,并将这些加载程序升级到最新版本


请再次检查。

我尝试过类似的方法:
newwebpack.DefinePlugin({'process.env.BACKEND\u URL':JSON.stringify(process.env.BACKEND\u URL),'process.env.DEBUG':JSON.stringify(process.env.DEBUG),}),
但仍然是相同的错误我尝试过类似的方法:
新建webpack.DefinePlugin({'process.env.BACKEND\u URL':JSON.stringify(process.env.BACKEND\u URL),'process.env.DEBUG':JSON.stringify(process.env.DEBUG),}),
但仍然是相同的错误所有加载程序都在my package.json的devdependences中,可能是加载程序版本问题。但是我已经改变了所有的achitecture来使用像这样的路径解析。听到这个消息真是太好了。所有的加载程序都在我的package.json的devdependency中,可能是加载程序版本的问题。但是我已经改变了所有的架构,使用像这样的路径解析。听到这个消息真是太好了。