2012-04-20 27 views
3

爲了瀏覽器和節點之間共享AMD模塊,我使用的是在這兩個地方(見RequireJS in Node)RequireJS。RequireJS在節點(與use.js如)不使用插件依賴性

服務器/ dataDao.js:

var requirejs = require('requirejs'); 
var dataDao = module.exports = {}; 

requirejs(['client/resource'], function (Resource) { 
    ... 
}); 

客戶端/ resource.js:

define(['underscore'], function (_) { 
    ... 
}); 

這通常被工作正常,只要共享模塊不涉及任何依賴關係,唐在服務器上工作。

我想向大家介紹use.js,然而,爲了避免手工包裝非AMD兼容庫像下劃線。爲此,我必須以use!(在RequireJS中觸發使用插件)前綴列出的依賴項作爲前綴。

客戶端/ resource.js:

define(['use!underscore'], function (_) { 
    ... 
}); 

這非常適用於瀏覽器,但會導致節點錯誤:

Error: Calling node's require("use") failed with error: Error: Cannot find module 'use' 

我相信這不是特定於使用插件,但也文字等

有其他人遇到這個問題?

+0

什麼是你的配置看起來像? – fncomp 2012-04-20 05:44:39

回答

0

隨着version 0.3 of use我能得到它的節點工作。根據你對問題的評論,這可能是一個配置問題 - 我花了幾次嘗試才找到正確的路徑。

+0

是的,這確實是一個路徑問題。然後我遇到了use.js錯誤,所以我必須修補它。很高興看到0.3的use.js包含節點支持。 – wachunga 2012-05-02 20:21:54