我正在尝试弄清楚如何将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。
谢谢,请指教。
答案 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);