首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内联的require()可以在require中使用,但不能在优化的almond构建中使用

内联的require()可以在require中使用,但不能在优化的almond构建中使用
EN

Stack Overflow用户
提问于 2013-03-20 13:13:51
回答 1查看 4.1K关注 0票数 11

正如标题所说,我的内联require调用在一个非优化的requirejs运行中工作,但在使用grunt和almondjs构建时却无法工作。

代码语言:javascript
复制
Uncaught Error: undefined missing views/some/view

任何文件的顶部都可能是:

代码语言:javascript
复制
define(
['jquery', 'app'],
function($, App) {

稍后,基于业务逻辑,我希望能够需要另一个文件

代码语言:javascript
复制
require(['views/some/view'], function(SomeView){
     console.log(SomeView);
});

我也尝试了替代的语法:

代码语言:javascript
复制
var SomeView= require('views/some/view');

而这一切都是使用一个未构建的requirejs版本来工作的。但是当我用grunt和almond构建它时,它又失败了

代码语言:javascript
复制
    requirejs: {
        compile: {
            options: {
                name: "../components/almond/almond", 
                baseUrl: "src",
                mainConfigFile: "./require.config.js",
                include: ['main'], 
                insertRequire: ['main'], // Add a require step in at the end for the main module.
                wrap: true, // Wrap everything up in a closure
                generateSourceMaps: true, // Experimental
                preserveLicenseComments: false, // Needs turned off for generateSourceMaps
                optimize: "uglify2", // Supports generateSourceMaps
                out: "assets/javascripts/build.js"
            }
        }
    },

如果我在定义调用中把它放在文件的顶部,我可以让它在杏仁中工作得很好,但在AMD中保持精简不是更可取的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-30 11:17:13

根据Almond文档,它在非动态加载和将所有内容打包到一个文件中时工作得最好。

您应该能够在您的编译选项中将"findNestedDependencies“设置为true,以确保您的内联请求调用被包含在构建中。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15515872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档