【问题标题】:NativeScript - Webpack environment variable not workingNativeScript - Webpack 环境变量不起作用
【发布时间】:2018-12-19 08:47:38
【问题描述】:

我跟着this 随时随地获取环境变量。我在webpack.config 文件中定义了myGlobal

...
new webpack.DefinePlugin({
    "global.TNS_WEBPACK": "true",
    "myGlobal.ENV_NAME": JSON.stringify(env.name || "development"),
    "process": undefined,
})
...

所以现在myGlobal 应该在我的.ts 文件中可用。 但是当我将它记录在我的ApolloService 的构造函数中时。我收到参考错误

apolloService.ts

declare let myGlobal: any;

@Injectable()
export class ApolloService {


 constructor() {
    console.log(myGlobal.ENV_NAME, '*******'); // Throws Error
 }

参考错误:myGlobal 没有在新的 ApolloService 中定义

我无法弄清楚我哪里出错了。请帮忙!!

【问题讨论】:

  • 这应该可以按预期工作这里是一个演示供参考github.com/NickIliev/NS-Issues-2018-II/tree/master/…
  • @NickIliev 我做的完全一样。但是,仍然抛出同样的错误。请帮我解决这个问题
  • 创建一个 Playground 演示,以便我看看 ti play.nativescript.org
  • 如果您使用--bundle 选项运行/构建,那么myGlobal.ENV_NAME 将完全替换为您在命令行中作为--env.name 传递的实际值。只有在没有捆绑选项的情况下运行时才会发生您指向的错误。

标签: webpack nativescript


【解决方案1】:

也许这有帮助?

我是这样设置的:

//webpack:
            new webpack.DefinePlugin({
                "global.TNS_WEBPACK": "true",
                'process.env': {
                    'envtype': JSON.stringify(env && env.envtype ? env.envtype : "dev"),
                }                
            }),

然后我可以在我的应用程序中访问它:

declare var process: any;
if (typeof process !== 'undefined' && process && process.env) {
 console.log(process.env);
}

【讨论】:

  • typeof process is coming undefined
猜你喜欢
  • 2021-11-13
  • 2020-11-25
  • 1970-01-01
  • 1970-01-01
  • 2021-11-19
  • 2015-09-27
  • 2020-10-04
  • 2021-03-30
相关资源
最近更新 更多