【发布时间】:2017-08-22 21:10:13
【问题描述】:
大家好,stackoverflow 的各位,我正在尝试发布我的 Angular 2 应用程序,但我遇到了 dist 文件的问题。首先我要做的是:
- 清理
node_modules目录并删除package-lock.json - 运行
npm install,然后运行npm update命令 - 之后我运行
ng build --prod,一切都很好。
所以,我检查了dist 文件夹并将其复制到我的服务器,当我尝试访问它时显示错误:
未捕获的类型错误:无法读取未定义的属性“创建” 在 vendor.7bb6292ce7eeab342f9a.bundle.js:1 在 e.invoke (polyfills.0963b44a58b5526cfab7.bundle.js:1) 在 Object.onInvoke (vendor.7bb6292ce7eeab342f9a.bundle.js:1) 在 e.invoke (polyfills.0963b44a58b5526cfab7.bundle.js:1) 在 r.run (polyfills.0963b44a58b5526cfab7.bundle.js:1) 在 t.run (vendor.7bb6292ce7eeab342f9a.bundle.js:1) 在 e._bootstrapModuleFactoryWithZone (vendor.7bb6292ce7eeab342f9a.bundle.js:1) 在 e.bootstrapModuleFactory (vendor.7bb6292ce7eeab342f9a.bundle.js:1) 在 Object.cDNt (main.e10f9a0cb71451c87757.bundle.js:1) 在 n (inline.d31757e5f12d693ae92a.bundle.js:1)
我知道这是一个与库相关的问题,因为 minify 没有按预期工作,但我不知道哪个库正在这样做,因为 ng serve 工作正常并且没有显示错误。
我不知道是否有某种方法可以调试哪个库出现此错误或它来自何处。
这是我在执行ng build --prod 命令时得到的。我也已经包含了enableProdMode();function。
更新
谢谢大家,问题是在我的app.module.ts中我有platformBrowserDynamic().bootstrapModule(AppModule);,这是一个错误,因为在更新版本中现在在main.ts而不是在app.module.ts所以我复制了这个并且现在一切正常。谢谢!
【问题讨论】:
-
尝试使用 AOT 构建您的项目:
ng build --prod --aot。也许这将有助于确定错误来自哪个文件? -
已经尝试过
--aot,但没有成功,我得到了同样的错误。所以我不知道它是从哪里来的。 -
仅供参考 .. --prod 已经做了aot。在这里查看漂亮的图表:github.com/angular/angular-cli/wiki/…
-
@DeborahK 没有意识到这是默认设置。上次我检查文档时,我不相信这是默认设置。很高兴知道!
-
这张图表非常方便,可以随身携带! :-)
标签: javascript angular typescript webpack