Tag: requirejs

将每个模块组装成一个.js文件

我想尽量减less客户端在浏览器中加载脚本的HTTP请求数量。 这将是一个相当普遍的问题,但我仍然希望我能得到一些答案,因为JavaScript中的模块pipe理已经是一个痛苦。 现在的情况 现在,在开发中,每个模块都是从主html模板中单独请求的,如下所示: <script src="/libraries/jquery.js"></script> <script src="/controllers/controllername.js"></script> … 服务器在Node.js上运行,并根据请求发送脚本。 显然这是这样做的最不理想的方式,因为所有的模型,集合等也被分成它们自己的文件,这些文件翻译成许多不同的请求。 就研究而言 我遇到的库(使用AMD和CommonJS的RequireJS)可以向发送给客户端的主.js文件请求模块,但需要大量额外的工作才能使每个模块与每个库兼容: ;(function(factory){ if (typeof define === 'function' && define.amd) define([], factory); else factory(); }(function(){ // Module code exports = moduleName; })); 我的目标 我想在服务器上创build一个将所有模块连接在一起的文件。 如果我可以做到这一点,而不必添加更多的代码,已经存在的模块将是完美的。 然后,我可以简单地将这个单个文件提交给客户端。 这可能吗? 另外,如果我设法构build一个单独的文件,我应该在其中包含开源库(jQuery,Angular.js等)还是在客户端从外部cdn请求它们?

如何访问RequireJS(AMD)环境中的node.js模块?

我有一个使用RequireJS (2.1.14)作为模块系统的前端SPA。 它基本上引导和加载Backbone.Marionette应用程序。 在main.js : require.config ({ baseUrl: '/js', waitSeconds: 200, nodeRequire: require, paths: { jquery: '//cdn/jquery.min', underscore:'//cdn/underscore-min', // more plugins }, shim: { // shimming stuff } }); require(['marionette', 'vent', 'config/template', 'app', 'routers/main' ], function (Marionette, vent, Template, nrtApp ) { 'use strict'; nrtApp.module ('Public.Main', function (Main, nrtApp, Backbone,Marionette, $, _) { nrtApp.start (); […]

为什么这个JavaScript代码(RequireJS和Node.js的模块模式)工作?

由于我对RequireJS和Node.js的理解有限(通常加上JavaScript),我通常会看一些知名的JavaScript库的来源。 每当我看到这样的事情: ( // Wrapping function (root, factory) { if (typeof exports === 'object') { // Node.js var underscore = require('underscore'); var backbone = require('backbone'); module.exports = factory(underscore, backbone); } else if (typeof define === 'function' && define.amd) { // Require.JS define(['underscore', 'backbone'], factory); } }(this, function (_, Backbone) { // Factory function, the implementation […]

模块尚未加载上下文

快速的问题…我有一个requirejs设置像这样的定义…它的作品约8-10%的时间。 似乎某个时间的资源没有及时加载。 我是否可以用确保下面的代码正确运行的方式来包装上面的var需求列表? 我得到的错误,当它不工作是这样的: 未捕获错误:模块名称“views / association / Associations”尚未加载上下文:_ define(function( require ){ // requirejs – too many includes to pass in the array var $ = require('jquery'), _ = require('underscore'), Backbone = require('backbone'), namespace = require('namespace'), // models CustomerModel = require('models/customer/customer'), // collections // views BaseView = require('views/baseView'), Auth = require('views/auth/Auth'), SideNav = require('views/sidenav/SideNav'), CustomersView […]

解决Node.js中的“Uncaught ReferenceError:require is not defined”错误

我正在尝试使用SengGridbuild立一个基本的联系表单,并不断收到“未捕获的ReferenceError:require is not defined”错误。 我有这个代码在HTML页面的头部脚本标记。 var sendgrid = require('sendgrid')(username,pass); 我已经看了requirejs,但我不知道为什么我得到这个错误。 有人可以向我解释我如何解决这个问题?

Karmaunit testing:模块名称“react”尚未加载上下文:_。 使用require()

我正在尝试设置unit testing框架进行反应。 这样做时发生以下错误。 我已经search了所有的互联网没有解决scheme正在工作。 下面是显示的错误和我正在使用的代码/包。 debugging错误 04 03 2016 04:48:46.340:DEBUG [phantomjs.launcher]: Error: Module name "react" has not been loaded yet for context: _. Use require([]) http://requirejs.org/docs/errors.html#notloaded 04 03 2016 04:48:46.341:DEBUG [phantomjs.launcher]: http://localhost:9876/base/node_modules/requirejs/require.js?6f53c895855c3743ac6fb7f99afc63ca5cdfd300:140 in defaultOnError http://localhost:9876/base/node_modules/requirejs/require.js?6f53c895855c3743ac6fb7f99afc63ca5cdfd300:544 in onError http://localhost:9876/base/node_modules/requirejs/require.js?6f53c895855c3743ac6fb7f99afc63ca5cdfd300:1429 in localRequire http://localhost:9876/base/node_modules/requirejs/require.js?6f53c895855c3743ac6fb7f99afc63ca5cdfd300:1791 in requirejs PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR Error: Module name "react" has […]

dynamic文件path需要与webpack?

这工作正常,当我手动请求文件使用require ,但是现在我使用完全相同的请求,但更改string,以便它分裂variables失败。 这很好用: module.exports = (function() { var $svg = require('svg-inline!../../assets/svgs/global/connected.svg'); console.log($svg); }()); 但是,如果我这样做: module.exports = (function() { var $path = '../../assets/svgs/global/'; var $svg = require('svg-inline!'+$path+'connected.svg'); console.log($svg); }()); 它失败了,并在控制台里面说: Uncaught Error: Cannot find module "." 我想我的问题是为什么你不能像我在这里连接string?

Node.js require()vs RequireJS?

你好与RequireJS我可以设置一个基本path是这样的: base : './app/'所以当我在./app/foo/bar/例如,我有一个脚本,我使用require('foo'); 然后RequireJS将search./app/foo.js而不是在node_module文件夹或./app/foo/bar/foo.js当你有一种结构对于你来说会更清洁开发者可以看到依赖关系,而不是拥有../../foo.js 。 我可以有./app/foo.js和./app/foo/foo.js和./app/foo/bar/foo.js它会更清晰: require('foo'); require('foo/foo'); require('foo/bar/foo'); 而不是: require('../../foo'); require('../foo'); require('./foo'); 现在你可以说,为什么不改变名称,并没有到处都有foo,让我们说,我们不能以任何理由… 在RequireJS中,我在节点的require方法中看到的另一个缺乏的特性是设置path映射的能力,如果我在RequireJS中有一个名为./app/super-sized-directory-name/的目录,我可以简单地执行'big-dir' : 'super-sized-directory-name' ,然后我可以简单地使用require('./app/big-dir/foo')和Node.js的require方法,这是不可能的,据我所知…

Javascript:在AMD(asynchronous模块定义)中是'require'同步方法吗?

在AMD(asynchronous模块定义)中是否需要同步? 如果是这样,是什么使这个规范asynchronous? 如果我在代码中间要求()(还没有加载),它会停止执行吗? 在说浏览器端。

使用Jam.js,require.js和node-webkit没有冲突

我目前正在编写一个Web应用程序,以后我打算使用node-webkit进行部署。 我想尽可能地使用node.js,这样我就可以轻松地部署到Web上,而不必重写大部分代码。 我使用Jam.js作为包pipe理器。 很明显,node.js的require与require.js的require相冲突。 使用requirejs而不是require是一个很好的select。 然而,Jam.js编译require.config.js文件并在其中使用require (而不是requirejs )。 目前,我必须做window.require = undefined; 使Jam.js的require.js在node-webkit中工作。 有没有办法让Jam.js使用requirejs而不是require来编译require.config.js文件? 还是有一个不同的解决scheme,可以让我同时使用Jam.js和node.js的require而不必做像window.require = undefined; ? 我发现node-webkit FAQ中给出的解决scheme不是很满意。 谢谢你的帮助!