2014-01-08 32 views
0

在我的申請,我有一個名爲模塊聯定義index.html中:可能跳過內聯命名模塊與r.js構建?

<script> 
    define('config', { 
     mode: '...', 
     environment: '...', 
     apiUrl: '...', 
     rootPath: '...', 
     baseImageUrl: '...' 
    }); 
</script> 

我需要在我的網頁,因爲我拉一些東西,在使用環境變量來定義這個。所以,在我的模塊,然後我就可以包括「配置」:

define(['config', 'jquery'], function(config, $) { ... }); 

當我運行一個RequireJS生成使用咕嚕(與grunt-require,它使用r.js),它的抱怨是它沒有找到config.js。我的構建配置是這樣的:

{ 
    baseUrl: 'js', 
    main: 'app/Main', 
    dir: 'js/build', 
    out: null, 
    modules: { ... }, 
    paths: { ... }, 
    shim: { ... } 
} 

當我建,我得到:

Error: Error: ENOENT, no such file or directory '/projects/projectname/js/build/config.js 

我怎麼能允許結合使用命名,內嵌自定義模塊與r.js建?

回答

1

設置

paths: { 
    config : 'empty:' 
} 
在生成配置文件

應該排除這種模塊進行優化處理,並作爲一個結果,停止加此錯誤。

但是,這是一個有點取巧的辦法,因爲這個選項通常用於排除第三方的依賴關係(例如,開發基於主幹一些JS庫時,它會更好,到庫從骨幹網分開)

+0

奇怪的,但這個工程。謝謝! –