gpt4 book ai didi

javascript - 使用 Angular-CLI 正确配置脚本

转载 作者:行者123 更新时间:2023-11-28 05:08:55 24 4
gpt4 key购买 nike

假设我有一个使用这些 JS 库的项目:

  • main.js 必须在所有页面中加载
  • joe.js 这是一个要在所有页面加载的 npm 包
  • bob.js 这是一个旧式的第 3 方 JS 库,没有定义要在所有页面中加载的模块
  • max.js 这是一个 CommonJS 库,可以在某些组件中按需加载

到目前为止,我成功了:

  • angular-cli.jsonscripts 属性中包含 main.js
  • 与上面使用相对路径的 joe.js 相同 (../node_modules/joe/dist/joe.js)

因此它们最终会出现在每个页面上加载的生成包中。

相反,我与另外两个人之间存在很多问题。到目前为止,我已经成功地将 bob.js 包含在包中,方法是将其包装在自执行函数中:

(function() {
// old code of bob.js
})();

但是为什么?我完全不知道如何包含/捆绑 max.js...

最佳答案

对于 main、joe 和 bob.js 你应该这样做:

要使脚本随处可用,您可以使用 angular-cli 文件夹结构中的 src/assets 文件夹。

然后将您的脚本包含在:

<script src="assets/my-script.js"></script>

作为一个选项,您可以使用 webpack 将这些依赖项从 node_modules 获取到 src/assets

对于大多数情况,使用 CDN 是比这一切更好的选择。

<小时/>

至于max.js,我会创建一个服务来方便地注入(inject)它:

import { Injectable } from '@angular/core';

@Injectable()
export class MaxService {

lib: any;
constructor(){
this.lib = require('max.js');
}

}

关于javascript - 使用 Angular-CLI 正确配置脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41536027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com