如何包括一个凉亭项目的JavaScript,使JSHint工作

问题描述:

我试图用我已经按照指示进行安装凉亭库:如何包括一个凉亭项目的JavaScript,使JSHint工作

bower install paper --save 

这增加了凉亭组成部分,我该行添加到我的index.html文件:

<!-- build:js scripts/vendor.js --> 
<!-- bower:js --> 
<script src="/bower_components/jquery/dist/jquery.js"></script> 
<script src="/bower_components/paper/dist/paper-full.js"></script> <-- I added 
<!-- endbower --> 
<!-- endbuild --> 

根据纸张的使用说明,我可以把我所有的绘制代码的js文件,其中包括了这一点。该文档是不清楚的地方index.html中要做到这一点,我真的不明白那些亭子建设意见是有关,所以我把它的头标记的结尾:

<script type="text/paperscript" src="scripts/script.js" canvas="canvas"></script> 
</head> 

这里的问题:在我的script.js文件中的代码不通过JSHint,甚至使用一些从纸库,像第一行:

var circle = new Path(); 

产生,因为“没有定义路径”的警告。

我明白,我可以告诉JSHint忽略各走纸符号,但(一)有很多人,和(b)我宁愿解决问题,而不是将其覆盖。

我该如何加入这个凉亭库吗?有没有一种方法可以添加它,以便在我的脚本中知道这些符号?

将库导入为全局变量时,就像使用纸库一样,您需要告诉JSHint它。你可以做,要么加入

{ 
    "predef": [ "paper" ] 
} 

.jshintrc配置文件(如果有的话),或者通过增加您的文件使用的文件库的顶部;那么你应该能够做这样的事情,而不棉短绒抱怨:

var Path = paper.Path; 
var circle = new Path(); 

主要方式,以避免需要定义这样的全局变量,是使用一些替代设置为模块加载比全球其他变量:有许多替代品AMD(例如requireJS)CommonJS(例如Webpack)或ES6模块。