gpt4 book ai didi

node.js - Angular2 + Webpack DefinePlugin 不工作?

转载 作者:太空狗 更新时间:2023-10-29 19:36:34 25 4
gpt4 key购买 nike

我尝试从 angular.io 网站上的教程运行 Angular2 应用程序

Angular2 with Webpack Tutorial on angular.io

安装运行良好(有一些小问题,它是 Ubuntu 14.04 LTS)但我已经到了 npm start 任务正常运行、服务器正常运行甚至该应用程序在浏览器中运行,到目前为止一切顺利。 但是

每次我运行 npm start 时,我都会在终端和浏览器控制台中收到以下 2 个错误:

ERROR in ./src/polyfills.ts
(4,5): error TS2304: Cannot find name 'process'.

ERROR in ./src/main.ts
(7,5): error TS2304: Cannot find name 'process'.

如果你看教程,它解释了如何创建 webpack 配置,有一个 webpack.common.js、一个 webpack.prod.js 和一个 webpack.dev.js。在 webpack.prod.js 中,使用以下代码创建了一个 var:

const ENV = process.env.NODE_ENV = process.env.ENV = 'production';
new webpack.DefinePlugin({
'process.env': {
'ENV': JSON.stringify(ENV)
}
})

ma​​in.tspolyfills.ts 中,var 是这样引用的:

if (process.env.ENV === 'production') {
enableProdMode();
}

但看起来,Typings不知道如何将使用 webpack.DefinePlugin 创建的这些变量注入(inject)到已编译的 Javascript 中(这就是我的想法,我可能错了)

如果有人遇到同样的问题,或者有人可以帮助我解决这个问题,我将不胜感激! (所有代码都来自教程,所以尝试过教程的人可能遇到了同样的问题,我猜?!)

谢谢!

最佳答案

我在这里遇到了同样的问题(做同样的教程)。为了解决这个问题,我在 typings.json 所在的同一文件夹中创建了一个名为 typings.d.ts 的文件(此文件将默认包含在编译器中)并向其中添加以下声明:

declare var process: any;

希望对您有所帮助! :)

关于node.js - Angular2 + Webpack DefinePlugin 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38446313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com