【问题标题】:webpack+angular2 error: Uncaught ReferenceError: __decorate is not definedwebpack+angular2 错误:未捕获的 ReferenceError:__decorate 未定义
【发布时间】:2016-04-23 08:08:48
【问题描述】:

chrome 控制台错误:未捕获的 ReferenceError:__decorate 未定义 这是代码https://github.com/Dreampie/angular2-demo

运行它:

npm 安装

npm 运行类型安装

npm 运行开始

在浏览器中打开 localhost:80

有人帮忙吗?

【问题讨论】:

  • “运行它”:不。发布一个 plunker,
  • 可以用 webpack 运行吗?并且不支持从 github 加载。

标签: angular webpack webpack-dev-server


【解决方案1】:

从 tsconfig.json 中移除

"declaration": true,
"noEmitHelpers": false,
"isolatedModules": false

【讨论】:

  • 太棒了!在我的例子中,noEmitHelpers 是罪魁祸首,其他的不在我的 tsconfig.json 文件中。
  • 我在 RC5 上。我添加了 "declaration": true 因为我没有定义 __extends。在其他线程问题 #16 中提到添加“声明”:true。如果我有 delation 我得到 __decorate 没有定义。如果我删除上面提到的所有内容,我会返回未定义的 __extends。
  • 您能否详细说明这实际上在做什么/这些是如何导致此问题的?否则没有太多帮助
  • 该死的你是个巫师:)
  • 请参阅typescriptlang.org/docs/handbook/compiler-options.html 了解这些功能。声明(默认为 false) - 生成相应的 .d.ts 文件 noEmitHelpers(默认为 false) - 不要在编译输出中生成自定义帮助函数,如 __extends。 isolatedModules (默认 false) - 将每个文件转换为单独的模块
【解决方案2】:

我在创建代码共享 NativeScript https://docs.nativescript.org/angular/code-sharing/intro时发生这种情况

但我只需要注释掉这两行:

    //"declaration": false,  
    //"noEmitHelpers": true, 

【讨论】:

  • 谢谢,我也遇到过,删除"noEmitHelpers": true 就足够了。我开了一个问题:github.com/NativeScript/nativescript-schematics/issues/304
  • 我刚刚遇到了同样的问题,但我不确定共享应用程序的 NativeScript 移动部分是否需要 "noEmitHelpers": true,,所以我将 "noEmitHelpers": false, 放入 "tsconfig.app .json" 文件,因此它只会影响项目的 Web 浏览器部分的 typescript 编译器选项,这也解决了这个问题。
猜你喜欢
  • 2022-06-15
  • 1970-01-01
  • 2023-04-04
  • 2018-04-02
  • 1970-01-01
  • 2018-01-30
  • 2020-09-30
  • 1970-01-01
  • 2020-02-02
相关资源
最近更新 更多