如何将Javascript库添加到Angular 4组件?

时间:2017-09-29 02:35:47

标签: javascript jquery angular

我正在尝试弄清楚如何将JavaScript文件导入特定组件。

我将以下代码直接放入我的组件中:

import "../../vendor/datatables/js/jquery.dataTables.min.js";
import "../../vendor/datatables-plugins/dataTables.bootstrap.min.js";
import "../../vendor/datatables-responsive/dataTables.responsive.js";

但它引发了一个错误说:

  

找不到模块:错误:无法在...中解析'jquery'。

这让我怀疑依赖于jQuery的文件在这个范围内找不到jQuery库。

jQuery本身放在angular-cli.json文件中:

"scripts": [
    "./vendor/jquery/jquery.min.js"
],

另一种方法是将所有这3个外部JS文件放入angular-cli.json文件中,它将起作用,从用户角度显示预期结果。

但我想弄清楚如何避免为仅在少数特定组件中使用的那些设置全局JS。

谢谢,请指教。

1 个答案:

答案 0 :(得分:2)

例如,要将jQuery导入组件,您应该写:

import * as $ from 'path/to/jquery';

这意味着“全部导入并从”jQuery“”中用作“$”。

如果您自己下载了库,没有var options = { body: info, type: 'json' } ,则可以尝试以下操作(但我不确定它是否可行):

doGetCall(url, options = {}) {
let callOptions = {
  method: 'GET'
}
callOptions.headers = {
  'Content-Type': 'application/json',
  'Access-Control-Allow-Origin': 'http://localhost:3000'
}

return this.doCall(url, callOptions);