此问题与AngularClass/angular-starter
有关我希望通过设置env变量来定义API URL(所以我可以在构建平台上配置它)。
我看了here,发现可以使用 DefinePlugin 完成。
我在API
和其他一些地方添加了webpack.prod|dev.js
个全局变量
// Webpack.js
const API = process.env.API || "http://localhost/api";
new DefinePlugin({
...
'API': METADATA.API,
'process.env': {
...
}
}),
// custom-typings.d.ts
interface GlobalEnvironment {
..
API: string;
..
}
Global
接口在GlobalEnvironment
之后继承。我在项目中搜索了它的任何实现,但没有运气。
无论如何我试着注射它,计算一些魔法可能会发生,但事实并非如此。
@Injectable()
export class ConvertingService {
constructor(
private http: Http,
private global: Global
) { }
我得到了一个未解决的例外。
Uncaught Error: Can't resolve all parameters for ConvertingService: ([object Object], ?).
注入Global
实施的正确方法是什么?
答案 0 :(得分:0)
据我所知,你不需要注射任何东西。只需尝试在代码中使用 API
变量。想象一下API
是全局变量(它不是)。请求变量时,Webpack会覆盖引用...请参阅https://github.com/AngularClass/angular-starter/issues/386