我使用外部config.js文件,因为我不想为某些配置构建这么多版本。
例如,我有一个config.js文件:
资产/配置/ config.js
var apiUrl = 'http://example.com';
此文件已加载到 index.html 中,如下所示:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<script src="/assets/config/config.js"></script>
</head>
<body>
<app-root></app-root>
</body>
</html>
最后我必须在我需要使用的组件中声明它
declare var apiUrl: string;
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
constructor() {
//use apiUrl here
}
}
到目前为止我没有任何问题,但现在我需要使用角度通用,现在 我懂了: ERROR ReferenceError:服务器端未定义apiUrl 。
另一个奇怪的事情是一切都运行2次(一次在服务器上,一次在浏览器中),在浏览器中它像以前一样工作。
你们中的一些人可能会问我为什么不使用环境来存储静态变量,并且可能会回答,我不想构建它的这么多版本,并且这个应用程序可以被许多具有不同后端的团队使用。
有解决方法吗?