2013-07-28 60 views
1

所以現在我的項目是結構化的,以便我的服務器端代碼位於服務器文件夾中。如何構建一個大的meteor.js應用程序?

我已經打破了我的JavaScript成多個文件,並可以預先使用require.js。現在 ,我一直在使用

Npm.require 

__meteor_bootstrap__.require 

得到「的不同文件的exports'object嘗試過,但不工作。

換句話說,我該如何正確使用require.js與流星?或者,有沒有更好的方法來分解Meteor中的大型JavaScript文件?

回答

1

我想你正在嘗試打包。 Here是在包中使用的Npm.require()的一個例子。

還包已經存在許多共同的js庫,以便檢查atmosphere,也許你將不再需要編寫自己的包。

您也可以將.js文件放置在像this這樣的目錄結構中,而不需要使用Npm.require和包,如果您已經有代碼在服務器上的一個.js文件中工作,那麼這可能是最簡單的。

2

如果你的目標是打破一些項目的進入,可以在單獨的發佈週期被釋放,並可能與其他項目共享的模塊,那麼你是在正確的軌道上,使它們成爲require.js風格模塊(如果你只是想將一個大的.js分成多個,然後按照user728291的建議)。

如果您創建多個require.js風格的模塊,你應該徹底打破這些模塊出你的流星計劃,並把它們放在不同的目錄,例如

工作區/ /我 - 流星項目/ ......項目內容... /可重複使用的模塊-1/ 的package.json 可重複使用的模塊,1.js /可重複使用的模塊-2 的package.json 可重複使用的模塊,2.js

然後,安裝這些NPM模塊本地使用npm link,或者通過使用npm publish與世界分享。於是,這裏是最好的做法including Npm modules in Meteor applications

+0

的流星,你不應該打破你的模塊轉換爲npm風格的模塊,而是轉換爲流星智能包。 –

+0

正確 - 除非你的模塊是你想在流星之外使用的通用模塊。 –

4

我建議你看一下完全建立您的應用程序在智能包裝的討論。自從0.6.0,你可以有本地包下包/

最佳做法是,任何應用程序特定的包文件夾將命名空間前綴(例如:MYAPP計費)

相關問題