Tag: requirejs

如何在Node.js的RequireJS中正确地使用别名模块

我在我的Node.js服务器上使用RequireJS来帮助代码重用。 我在客户端和服务器之间共享模块,因此我想尽可能保持这些模块的一般性。 问题是我有一个第三方库(easeljs),它提供了一个客户端和一个服务器端的实现,npm提供的服务器端实现是“node-easel”。 我期望处理这个方法是行不通的。 我为服务器端应用程序提供了一个pathconfiguration,如下所示: requirejs.config({ nodeRequire: require, paths: { 'easeljs': 'node-easel' } }) 上面的代码首先会在根目录下查找node-easel.js ,然后再回到节点的require('easeljs') ,这不是我想要的。 我想要求js回落到require('node-easel') easel require('node-easel') 。 什么是最好的方法来完成这个?

node.js模块或require.js

我想编程的Web应用程序和使用express.js作为webframework。 作为testing框架,我将使用摩卡和柴。 Node.js支持模块化编程,我可以像require(“mocha”)一样加载模块。 在前端,我使用require.js来组织模块中的代码,但是这可以在node.js中使用。 在node.js中使用require.js最好使用node.js标准模块。 我知道require.js支持AMD和testing代码与摩卡它可以comlicated,因为代码将被加载asynchronous。 Node.js需要或require.js模块加载?

模块定义与node.js,require.js和纯脚本标签一起工作

我正在一个JavaScript模块/库,应该在3个环境中工作: 在node.js中 在requirejs中 当简单地包括使用标签到网页。 在这种情况下,整个模块应该连接到window.myModule下 对于如何编写库的结构,你有什么build议,以便它可以在所有这些环境中工作? 编辑:基本上,我的意思是在图书馆周围的某种包装代码,以便我可以调用这三种方法中的任何一种文件forms,我很好…

在使用requireJs的方法中使用node require

是否可以在通过requirejs调用的文件中使用默认节点require函数? define(["require", "exports"], function(require, exports) { //… var Schema = require(DaoPublic._schemasDirectory + schemaFilename); } 我总是得到ReferenceError: module is not defined ,我也尝试使用requireJs加载模式,因为文件本身被编码为CommonJs,而不是AMD兼容的。 任何解决scheme 请注意,加载的模式是在CommonJS,我需要保持这种方式,因为它是由几个DAO,一些在AMD和CommonJs中使用。 (有趣的部分) 请求文件(模式)的示例: var userSchema = { /** * User Login, used as id to connect between all our platforms. */ login: { type: String, match: /^[a-zA-Z0-9_-]+$/, trim: true, required: true, notEmpty: true, unique: […]

在Intern中调用柴插件返回错误

我试图在实习生中使用sinon-chai插件 ,但它给了我: Error {stack: (…), message: "Cannot find the Node.js require"} 我已经通过npm安装了插件,这里是我的testing文件: define([ 'intern!bdd', 'intern/chai!expect', 'app/functions', 'intern/chai', 'intern/dojo/node!sinon-chai' ], function (bdd, expect, myapp, chai, sinonChai) { chai.use(sinonChai); … }); 什么可能会出错?

r.js从节点脚本?

我觉得这一定是如此明显,但它逃避了我。 我想从节点模块而不是从命令行运行requirejs的r.js编译,而且我所看到的每一个文档都显示了命令行选项。 像这样的事情是我正在寻找的东西: var r = require('requirejs'); r('./build/common.js'); r('./build/app-main.js'); 让我来解释一下如果有更好的方法来做这件事的根本动机: 我有几个不同的build.js文件,我想在其上运行r.js(单独的常见依赖包和主应用程序包)。 我想把它包装在一个运行这两个文件的gulp文件或grunt文件中,而不需要将所有的r.jsconfiguration文件放在实际的grunt / gulp文件中,就像grunt和gulp require.js插件似乎都可以。 将r.jsconfiguration保留在单独的build / *。js文件中,可以让我们在需要时使用grunt / gulp OR命令行。 任何方式来完成这个?

将CommonJS转换为AMD

我在NPM和Bower上发布了一个简单的CommonJS模块,基本上看起来像这样: function Foo(){} module.exports = new Foo(); 现在转换为AMD格式的最简单的方法就是发布AMD兼容的第二个版本,例如: define(function (require, exports, module) { function Foo(){} module.exports = new Foo(); }); 但我认为有一种方法可以使用requirejs.config来填充CommonJS模块,如下所示: requirejs.config({ paths:{ 'foo':'assets/vendor/foo' }, shim:{ 'foo' :{ exports: 'Foo' } } }); 但是这似乎不起作用。 我认为垫片工具可以完成上面为你做的包装,但是我不完全确定。

我如何findnpm包的哪些部分在浏览器中工作,哪些不是?

据我所知, 几乎所有的NPM包(即在npmjs.org上列出)在浏览器中都像一个魅力,使用像Require.js这样的加载器。 但是很显然,NPM软件包的某些function(例如,访问操作系统文件系统)不能在浏览器内部使用,如果尝试的话,我认为会导致不正确的错误。 我的理解有多正确? 有没有什么方法可以find一个NPM包中的哪些方法在浏览器中工作,哪些不会呢?

在Require.js优化器中打包* .html模板?

如何将一个Angular.js应用程序中的HTML模板(又名“partials”)封装在一起,然后将它们连接在一起进行分发? 有没有一种很好的方法将它们包含在单个文件中,还是应该压缩包含main.js ,/ /templates/*.html / /styles/app.css . /templates/*.html和/styles/app.css子目录的文件夹? Require.js优化器将所有JS文件压缩到适合分发的单个文件myapp.min.js ,但HTML文件仍被引用为单个文件。 作为背景,代码位于Node.js服务器中: public/ /app/main.js /app/app.js /app/directives/*.js /app/filters/*.js /app/factories/*.js /app/other/*.js /app/templates/*.html 在运行r.js之后, public/app/**所有文件都对位于不同目录public/build/**双胞胎进行了优化。 但浏览器仍然会在原始位置/app/templates/*.html查找模板。 所以推测客户可能不得不把它们放在同一个目录中,这看起来是不公平的限制。 将RequireJS Javascript codebase最小化为单个文件

Node.js require()和RequireJS require()之间有什么区别?

我今天设置了一个定期客户端RequireJS的网站。 比我做了一些关于节点的研究,得到了安装,并在节点中设置了我的第一个模块。 当我设置第一个需求时,我加载了Require.JS文件,并得到了所有这些。 令我困惑的是,我创build了一个名为test.js的文件,其中包括: var require = require("requirejs"); 这实际上是包括节点的需求,而不是原来的需求库我正在使用的权利? 所以他们是完全不同的? 他们可以一起使用吗?