如何将外部JavaScript导入Polymer 3.0

如何将外部JavaScript导入Polymer 3.0,polymer,polymer-3.x,Polymer,Polymer 3.x,假设我有一个传统的javascript库,比如GoogleCharts,我想把它整合到我的Polymer 3.0项目中。我将如何实际执行导入 我通常会这样做:ES NPM上的模块 通常情况下,如果可用的话,人们会更喜欢这样一个库的ES模块版本(例如,on),因为ES模块允许树抖动(在本例中是通过)来减小生产构建输出的大小 模块在JavaScript中加载,并带有关键字。如果在NPM上可用,则可以使用命令将该库安装在您的Polymer项目中。例如,您可以像这样安装googlecharts: npm

假设我有一个传统的javascript库,比如GoogleCharts,我想把它整合到我的Polymer 3.0项目中。我将如何实际执行导入

我通常会这样做:

ES NPM上的模块 通常情况下,如果可用的话,人们会更喜欢这样一个库的ES模块版本(例如,on),因为ES模块允许树抖动(在本例中是通过)来减小生产构建输出的大小

模块在JavaScript中加载,并带有关键字。如果在NPM上可用,则可以使用命令将该库安装在您的Polymer项目中。例如,您可以像这样安装
googlecharts

npm install --save google-charts
然后,在元素代码中导入该包:

import { GoogleCharts } from 'google-charts';
例如:

非ES模块(不在NPM上) 另一方面,如果ESM不可用,则脚本可能是AMD/UMD模块,它将符号添加到全局范围。在这种情况下,您仍然需要导入文件,并像通常使用标记一样访问全局文件

如果脚本不在NPM上,则必须将文件本地复制到项目中(并将库文件包括在发行版中),然后按路径导入文件。例如,如果将库复制到
/src/libs/google charts.js
,则位于
/src/components/Chart.html
的元素代码将如下导入:

npm install --save google-charts
import'../libs/googlecharts'
例如:

从'@polymer/polymer'导入{polymerement};
导入“../libs/google charts”//将GoogleCharts添加到全局
类MyElement扩展了聚合关系{
// ...
就绪(){
super.ready();
加载(/*…*/);
}
}

如果.js库不在npm上,通常您只是用“script”标记引用它,该怎么办?我认为他所说的“传统”是指非es-6脚本