如何将脚本包含在 angular.json 中

Dan*_*Dan 9 javascript aframe angular

我想进口aframe<head>使用标签angular.json配置作为一个单独的包。

在里面,angular.json我有要从 node_modules 导入的脚本:

"scripts": [
    "node_modules/aframe/dist/aframe-v1.0.0.min.js"
]
Run Code Online (Sandbox Code Playgroud)

这是在 html 正文的底部捆绑和导入的。

<body>
    <app-root></app-root>
    ...
    <script src="scripts.js" ...>
</body>
Run Code Online (Sandbox Code Playgroud)

这是不可取的,因为库特别要求我在<head>.

此外,我想将其作为单独的包导入:

"scripts": [
  { "input": "node_modules/aframe/dist/aframe-v1.0.0.min.js", "bundleName": "aframe-v1.0.0.min" }
]
Run Code Online (Sandbox Code Playgroud)

mal*_*awi 10

您可以像这样添加对 angular.json 的脚本引用,例如包含 jquery 库

"scripts": [
   {
    "input": "node_modules/jquery/dist/jquery.min.js",
    "inject": false,
    "bundleName": "jquery"
   }
]
Run Code Online (Sandbox Code Playgroud)

然后设置inject tofalse不会将脚本注入到index.htm,最后我们只为bundleName设置一个名称,这样脚本就不会与其他脚本文件捆绑在一起,而是独立文件,现在您可以将脚本标签添加到标题中标签

更新 index.html 并在标题中包含脚本标签

<!doctype html>
<html lang="en">

<head>
  <meta charset="utf-8">
  <title>Portfolio</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="jquery.js"></script> <!--  -->
</head>

<body>
  <app-root></app-root>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)