RequireJS - NodeJS



节点适配器可与 Require 和 Node 搜索路径的实现一起使用。如果没有 RequireJS 使用的模块配置,你无需更改即可使用基于现有 Node 的模块。你可以使用 npm 命令将节点包安装到项目的“node_modules”目录中。

Node 只会加载来自本地磁盘的模块,而诸如 map、packages、paths 等配置选项仅当 RequireJS 加载模块时才会应用。

安装 Node

你可以使用以下命令安装 Node 适配器,它将安装最新的发行文件 −

npm install requirejs

你也可以通过以下方式安装 Node −

  • 你可以从 此链接下载 r.js 并将它保留在你的项目文件夹中。

  • r.js 存储库 获取源代码或通过 node dist.js 安装它。

使用 Node

要使用节点,你需要拥有 require('requirejs') 并将 require 函数在配置中移至顶层的 main.js 文件。

例如 −

var requirejs = require('requirejs');

requirejs.config({
   //load the mode modules to top level JS file 
   //by passing the top level main.js require function to requirejs
   nodeRequire: require
});

requirejs(['name1', 'name2'],
   function (name1, name2) {
      //by using requirejs config, name1 and name2 are loaded
      //node's require loads the module, if they did not find these
   }
);

使用 AMD 或 RequireJS 构建节点模块

你可以让代码模块与 RequireJS 和 Node 配合工作,而不需要库的用户,然后使用 amdefine 包来完成此工作。

例如 −

if (typeof define !== 'function') {
   var define = require('amdefine')(module);
}

define(function(require) {
   var myval = require('dependency');

   //The returned value from the function can be used 
   //as module which is visible to Node.
   return function () {};
});

优化器作为 Node 模块

Node 模块使用 RequireJS 优化器作为一种 optimize 方法,通过使用函数调用而不是命令行工具。

例如 −

var requirejs = require('requirejs');

var config = {
   baseUrl: '../directory/scripts',
   name: 'main',
   out: '../build/main-built.js'
};

requirejs.optimize(config, function (buildResponse) {

   //The text output of the modules specify by using buildResponse 
   //and loads the built file for the contents
   //get the optimized file contents by using config.out 
   var contents = fs.readFileSync(config.out, 'utf8');
}, function(err) {
   //code for optimization err callback
});
广告