2017-10-13 54 views
1

什么是使用包括外部脚本(实施例中使用externalLib.js)角应用的以下方式的不同,好处,优点和缺点:Angular2/Angular4 CLI外部库包含

  1. 包括脚本参考直接进入通过脚本 标签index.html文件:在scripts阵列
    <script src="../node_modules/jquery/dist/jquery.js"></script>

  2. 设置路径的库文件angular-cli.json
    "scripts": [ "../node_modules/path/to/lib/externalLib.js"]

  3. 包括externalLib.js文件的资产文件夹

另外,是否有任何的上述方法支持库的强类型(即自动处理externalLib.d.ts

谢谢你的帮助。

+0

对于最后一个问题,加载外部js的方式与使用该库类型无关。要加载类型,您必须安装ex类型的库。 'npm install @ types/jquery --save-dev'。如果你看看你的tsconfig.app.json它有''typeRoots“:[”node_modules/@ types“]',这将告诉打字稿编译器在该文件夹中使用所有类型。旁注:通常在安装打字稿库时,这些类型将成为依赖项,因此您不必手动安装,但由于您正在加载外部脚本,因此很可能必须手动安装类型 – LLai

回答

2
  1. 节点模块文件夹将不会在您的输出中,所以您引用js文件的路径将无效。所以你需要在每次构建之后更改所有这个文件路径。
  2. 如果您运行build命令,则本节中定义的所有文件将绑定到输出中的一个文件。
  3. 这会将您的js文件包含在构建输出中的资源文件夹中,因此需要单独参考。没有捆绑这种类型的文件。