我有一个angular 7应用程序,当在开发模式下构建时,它可以编译并且可以无错误地提供服务。但是,当我使用生产设置构建应用程序时,它可以毫无问题地编译,但是找不到环境信息,而只能在浏览器中找到错误。
vendor.d1094f98a9a59a44ad59.js:1 ERROR ReferenceError: env is not defined
at new n (main.04dfe8e133fc5e316d84.js:1)
at Vs (vendor.d1094f98a9a59a44ad59.js:1)
at Ms (vendor.d1094f98a9a59a44ad59.js:1)
at mu (vendor.d1094f98a9a59a44ad59.js:1)
at hu (vendor.d1094f98a9a59a44ad59.js:1)
at Object.Du [as createRootView] (vendor.d1094f98a9a59a44ad59.js:1)
at e.create (vendor.d1094f98a9a59a44ad59.js:1)
at e.create (vendor.d1094f98a9a59a44ad59.js:1)
at t.bootstrap (vendor.d1094f98a9a59a44ad59.js:1)
at vendor.d1094f98a9a59a44ad59.js:1
mi @ vendor.d1094f98a9a59a44ad59.js:1
vendor.d1094f98a9a59a44ad59.js:1 ERROR Error: Uncaught (in promise): ReferenceError: env is not defined
ReferenceError: env is not defined
at new n (main.04dfe8e133fc5e316d84.js:1)
at Vs (vendor.d1094f98a9a59a44ad59.js:1)
at Ms (vendor.d1094f98a9a59a44ad59.js:1)
at mu (vendor.d1094f98a9a59a44ad59.js:1)
at hu (vendor.d1094f98a9a59a44ad59.js:1)
at Object.Du [as createRootView] (vendor.d1094f98a9a59a44ad59.js:1)
at e.create (vendor.d1094f98a9a59a44ad59.js:1)
at e.create (vendor.d1094f98a9a59a44ad59.js:1)
at t.bootstrap (vendor.d1094f98a9a59a44ad59.js:1)
at vendor.d1094f98a9a59a44ad59.js:1
at M (polyfills.65f19a590318fc6860f7.js:1)
at polyfills.65f19a590318fc6860f7.js:1
at t.invokeTask (polyfills.65f19a590318fc6860f7.js:1)
at Object.onInvokeTask (vendor.d1094f98a9a59a44ad59.js:1)
at t.invokeTask (polyfills.65f19a590318fc6860f7.js:1)
at e.runTask (polyfills.65f19a590318fc6860f7.js:1)
at g (polyfills.65f19a590318fc6860f7.js:1)
在开发模式下进行构建符合预期。不知道为什么生产会有所不同。终端中没有错误。
期望的产品版本与开发版本保持一致
答案 0 :(得分:0)
environment.prod.ts
中的environments/environment.prod.ts
文件似乎正在发生问题,请确保该文件与您的environment.ts
文件匹配。
当您使用产品environment.prod.ts
进行构建时,将替换environment.ts
。
看一下两个文件中的命名,看起来您的environment.prod.ts
中可能有
export const environment = {
production: true,
etc...
}
代替
export const env = {
production: true,
etc...
}
就像多数民众赞成在提示错误。 http://tattoocoder.com/angular-cli-using-the-environment-option/是一个很好的网址,可让您更好地了解角度环境。
答案 1 :(得分:0)
这是令人反感的声明:
import { environment as env } from '@env/environment';
要更正错误,只需删除别名并将该行(和任何引用)更新为:
import { environment } from '@env/environment';
有人知道为什么使用as env
语法会导致此问题吗?