开发学院

您的位置:首页>教程>正文

教程正文

RequireJS NodeJS

RequireJS NodeJS

  Node适配器可以与Require和Node搜索路径的实现一起使用。如果requirejs没有使用模块配置,则可以使用现有的基于Node的模块,而无需更改它们。您可以使用NPM命令在project的node_modules目录中安装Node包。

  Node将仅从本地磁盘和配置选项(如映射、包、路径等)加载模块。将仅在requirejs加载模块时应用。

安装Node

  您可以使用以下命令安装Node适配器,该命令将安装最新版本的文件

npm install requirejs

  您也可以通过以下方式安装node

  您可以从这个链接下载r.js并将其保存在项目文件夹中。

  从r.js资料档案库中获取源,或通过Nodedist.js进行安装

使用Node

  要使用该Node,需要使用require('require.js')并将配置中的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或requiredjs构建Node模块

  您可以使代码模块与requiredjs和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优化器作为优化方法,方法是使用函数调用而不是命令行工具。

  下面是例子:

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
});