2016-07-24 50 views
0

我試圖用我已經按照指示進行安裝涼亭庫:如何包括一個涼亭項目的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)我寧願解決問題,而不是將其覆蓋。

我該如何加入這個涼亭庫嗎?有沒有一種方法可以添加它,以便在我的腳本中知道這些符號?

回答

1

將庫導入爲全局變量時,就像使用紙庫一樣,您需要告訴JSHint它。你可以做,要麼加入

{ 
    "predef": [ "paper" ] 
} 

.jshintrc配置文件(如果有的話),或者通過增加您的文件使用的文件庫的頂部;那麼你應該能夠做這樣的事情,而不棉短絨抱怨:

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

主要方式,以避免需要定義這樣的全局變量,是使用一些替代設置爲模塊加載比全球其他變量:有許多替代品AMD(例如requireJS)CommonJS(例如Webpack)或ES6模塊。