2013-08-01 25 views
2

五個月前,我使用流星窗口0.5.x版創建了一個項目,該項目在該流星版本上效果很好,但是今天,當我遷移到版本0.6.4.1時,這個項目的功能,來自client.js調用中的model.js損失引用的三個函數(未定義的函數)。在較新版本上運行流星項目

Exception from Deps recompute: ReferenceError: displayName is not defined 
    (but, this function is defined in model.js) 

我注意到,從瀏覽器控制檯,模型的每個功能都失去了client.js中的引用。 我嘗試使用命令

meteor --release 0.5.x 

運行該項目,但每次嘗試運行我得到的錯誤「運行從結賬時,流星不能指定版本」。 未定義的引用函數(在新版本的發佈中)會有什麼問題。

+1

'--release'參數僅適用於版本0.6.0+。 –

+0

我不知道謝謝你的信息! – LXSoft

回答

3

流星0.6.x更改跨多個文件的變量作用域:每個源文件被封裝在一個匿名函數中,使其局部var /函數聲明僅對相關文件可見。 爲了使出口符號和其他文件中引用它們,你現在已經使用這個語法:

myVar=value; 
// instead of 
var myVar=value; 

myFunc=function(){...}; 
// instead of 
function myFunc(){...} 

如果你不喜歡的東西

function displayName(){...} 

在model.js,嘗試用

替換它
displayName=function(){...}; 

我很確定它會做的伎倆。

+0

刪除var關鍵字的作品就像一個魅力,我花了幾個小時的研究和什麼都沒有。謝謝,你救了我! – LXSoft

相關問題