繁体   English   中英

require和require有什么区别

[英]what is the difference between require and require

有杏仁和无杏仁这两者之间有什么区别?

require('module'); require(['module']);

编辑

嵌套的:

define(function() { require('module'); }

define(function() { require(['module']); }

前者给出了requirejs错误(建议使用梯子)。

我问的原因是

我正在研究example-libglobal,以了解如何构建可用作AMD模块的库。

我们要导出的库模块:

File: principium.js

/**
* The main module that defines the public interface for principium,
*/
define(function (require) {
    convert = require('principium/convert');

    //Return the module value.
    return {
        convert: convert
    };
});

返回库模块的主模块。

File: lib/main.js

define(function() {
    //Use almond's special top-level, synchronous require to
    //get the final module value, and export it as the public
    //value.
    return require('principium');
});

在这个例子中,它使用杏仁要求principiumreturn require('principium')我希望返回导出库对象。

但是我不使用杏仁,而require('principium')语法给出了错误,并且如果我改用require(['principium']) ,则不会返回导出的库对象。

导出的库对象,即我的意思是return { convert: convert }; principium.js返回。

编辑

我如何正确使用嵌套需求,以便:

var moduleExport = require('module');

如我所料。

编辑

我解决了它,但是我不知道它是如何工作的,我在构建中加入了杏仁,它神奇地起作用。

"include": ["../bower_components/almond/almond", "lib/main"]

并重构

File: lib/main.js

define([], function() {
    return require('principium');
});

这是“后期”,因为它是两个选项的后一个子句,而不是梯子,这是您要上下移动才能达到的目标,否则就无法达到标高。

有了一点“更多的了解”:如果您使用的是require.js,则不能只需要一个模块:require.js用于加载依赖项,以便运行函数,因此语法为:

require(
  ['dependency1', 'dependency1',...],
  function codetorun(dep1, dep2) { ... }
);

你的功能是依赖于从代码dependency1 ,等等,因此你“需要”的代码被加载并提供为变量的函数,该函数甚至应该运行之前。

就require.js所知,仅在模块中进行需求而不需要它就没有意义,因此会引发错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM