我正在學習如何使用Dojo構建系統將應用程序構建到單個js文件(或接近)中。我盡我所知地遵循了這些指示,並以一個基本的例子開展工作。我現在試圖添加額外的js資源和小部件。使用Proj4外部JS文件構建Dojo
我的一個小部件需要Proj4js投影庫在座標之間進行轉換。不幸的是,當我嘗試構建應用程序時,這導致了問題。
error(311) Missing dependency.
module: app/widgets/MapInfo; dependency: proj4/proj4
我有我的那個包設置爲道場配置如下:
packages: [
// Using a string as a package is shorthand for `{ name: 'app', location: 'app' }`
'app',
'dgrid',
'dijit',
'dojo',
'dojox', {
name: 'put-selector',
location: 'put-selector',
main: 'put'
},
'xstyle',
'esri',
{
name: 'proj4',
location: '//cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.6/'
}
],
這裏是小工具的頂部:
define([
'dojo/_base/declare',
'dijit/_WidgetBase',
'dijit/_TemplatedMixin',
'dojo/_base/lang',
'dojo/html',
'dojo/dom-style',
'dojo/number',
'dojo/topic',
'proj4/proj4',
'xstyle/css!./MapInfo/css/MapInfo.css'
], function (
declare,
WidgetBase,
TemplatedMixin,
lang,
html,
style,
number,
topic,
proj4
) {
選項1:忽略它 我曾經想過嘗試告訴dojo忽略它,然而,在閱讀了一些帖子之後,這不是一個真正的選擇。
選項2:使用插件? 我的下一個想法是嘗試使用dojo插件,如dojo/text!包括該文件,但是,我還沒有能夠得到這個工作。
方案3: 頁面最後嵌入腳本,作爲最後的手段,我可以簡單地使用嵌入通過在widget window.proj4腳本標記和參考proj4劇本,但這個不是很方便攜帶,因此我正在尋找更好的解決方案。
謝謝!
您的建立檔案中是否有錯字?它說'esri',但可能應該說'proj4' ... –
列出軟件包有兩種方法,一種是簡單列出字符串,另一種是列出軟件包名稱和字符串。 'esri'只是另一個dojo包的名稱。 – roemhildtg
哎呀,我誤解你的構建配置,因此混亂,對此感到抱歉。 (我的大腦混合了esri和proj4的條目。) –