簡體   English   中英

可以跳過帶有r.js構建的內聯命名模塊嗎?

[英]Possible to skip inlined, named modules with r.js build?

在我的應用程序中,我在index.html中內聯定義了一個命名模塊:

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

我需要在我的網頁中定義它,因為我在使用環境變量方面有一些東西。 因此,在我的模塊中,然后可以包含“ config”:

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

當我使用Grunt(帶有grunt-require ,使用r.js)運行RequireJS構建時,會抱怨找不到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構建一起使用?

設置

paths: {
   config : 'empty:'
}

在構建配置文件中,應將此模塊排除在優化過程之外,並因此停止引發此錯誤。

但這有點棘手,因為此選項通常用於排除第三方依賴性(例如,在開發基於Backbone的js庫時,最好將您的lib與Backbone分開)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM