Angular2/Angular4 CLI外部库包含
问题描述:
什么是使用包括外部脚本(实施例中使用externalLib.js
)角应用的以下方式的不同,好处,优点和缺点:Angular2/Angular4 CLI外部库包含
包括脚本参考直接进入通过脚本 标签
index.html
文件:在scripts
阵列<script src="../node_modules/jquery/dist/jquery.js"></script>
设置路径的库文件
angular-cli.json
:"scripts": [ "../node_modules/path/to/lib/externalLib.js"]
包括
externalLib.js
文件的资产文件夹
另外,是否有任何的上述方法支持库的强类型(即自动处理externalLib.d.ts
?
谢谢你的帮助。
答
- 节点模块文件夹将不会在您的输出中,所以您引用js文件的路径将无效。所以你需要在每次构建之后更改所有这个文件路径。
- 如果您运行build命令,则本节中定义的所有文件将绑定到输出中的一个文件。
- 这会将您的js文件包含在构建输出中的资源文件夹中,因此需要单独参考。没有捆绑这种类型的文件。
对于最后一个问题,加载外部js的方式与使用该库类型无关。要加载类型,您必须安装ex类型的库。 'npm install @ types/jquery --save-dev'。如果你看看你的tsconfig.app.json它有''typeRoots“:[”node_modules/@ types“]',这将告诉打字稿编译器在该文件夹中使用所有类型。旁注:通常在安装打字稿库时,这些类型将成为依赖项,因此您不必手动安装,但由于您正在加载外部脚本,因此很可能必须手动安装类型 – LLai