Angular cli文档声明:
有些javascript库需要添加到全局范围中,并且 加载就像它们在脚本标记中一样。我们可以使用 apps [0] .scripts和apps [0] .styles属性angular-cli.json。
但是我试图包含一个第三方脚本,它应该在窗口中添加一个变量"scripts": [
// jQuery, bootstrap, etc...
"../node_modules/bootstrap-tour/build/js/bootstrap-tour.min.js"
:
Tour
从窗口访问Tour
时,我认为undefined
为Tour
。
如果我使用脚本标记包含完全相同的脚本,则窗口上的declare const Tour
就好了。在这个例子中我不关心打字(这个库没有)。我错过了一步吗?
我使用的解决方法是将静态JS文件放在assets文件夹中 - 问题是我必须将所有依赖项放在assets文件夹中,但是如果可能的话我希望将它们捆绑在一起。
编辑:我访问Tour的方式是通过开发人员控制台 - 它应该在窗口上(并且是静态包含的)。在TypeScript中,我使用IN()
,它在静态包含时也可以使用。
答案 0 :(得分:0)
我通过在index.ts中调用require
来解决此问题,将其包含在angular-cli.json
中后我需要的文件。
angular-cli.json
:
"scripts": [
...
"../node_modules/moment/moment.js",
"../node_modules/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js"
]
index.ts
:
declare const require;
require('moment/moment.js');
require('eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js');
export * from './environment';
export * from './app.component';
export * from './app.module';
如果有人知道更合适的方式,请告诉我!