Articles of 要求

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

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

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?

testingNode.js,模拟并testing一个需要的模块?

我正在努力围绕我的节点模块编写高质量的testing。 问题是需求模块系统。 我希望能够检查某个需要的模块是否有方法或其状态已经改变。 似乎有两个相对较小的库可以在这里使用: 节点轻轻地和嘲弄 。 然而,由于他们的“低调”,这使得我认为,任何人都不会对此进行testing,或者还有另外一种我不知道的方式。 嘲笑和testing需要的模块的最好方法是什么?

节点应用和多个节点模块同时开发,使用npm-link

我正在构build一个node.js应用程序,并同时开发应用程序所需的模块。 一些模块有peerDependencies,我正在努力弄清楚如何最好地构build我的开发环境。 我到目前为止: /node-projects |–/myApp |—-/node_modules |——/symlink to module1 |——/symlink to module2 | |–/module1 | |–/module2 我使用npm link在我的应用程序的node_modules中创build符号npm link到我的项目根目录中的模块。 这让我可以轻松地推/拉个人模块以及我的应用程序。 但是,如果module2将module1指定为peerDependency,则我的应用程序将无法启动,从而导致module2找不到module1的错误。 我认为这是因为它们实际上并不在一个node_modules目录中。 是否有一个我错过了这个谜题将允许module2的符号链接识别module1的符号链接? 或者是我正试图完成目前不能与npm? 有没有更好的策略,让我的自定义模块与git / github同步,同时也要求我的主应用程序中?

require.main.require工作,但不在摩卡testing

我写了一个全局函数来要求我的应用程序/框架的某些文件: global.coRequireModel = function(name) { // CRASH happens here return require.main.require('./api/_co' + name + '/_co' + name + '.model'); } 这个模块在/ components / coGlobalFunctions中。 这是我的主要应用程序app.js需要这样的: require('./components/coGlobalFunctions'); 然后在其他模块中使用框架中的“东西”,我使用: var baseScheme = coRequireModel('Base'); 这工作,但不是在摩卡testing,给我一个“错误:无法find模块”在require.main.require调用之前。 看来testing来自另一个源文件夹。 但是我认为require.main.require会把相对连接模块的方面拿掉。 编辑: 生活在api / user中的示例testing文件: var should = require('should'); var app = require('../../app'); var User = require('./user.model'); …

如何从mocha.opts文件正确地要求模块

我用我的摩卡单位testing使用expect.js库。 目前,我需要在每个文件的第一行上的库,如下所示: var expect = require('expect.js'); describe('something', function () { it('should pass', function () { expect(true).to.be(true); // works }); }); 如果可能的话,我想从每个文件的第一行中删除样板需求代码 ,并让我的unit testing神奇地知道expect 。 我想我可以使用mocha.opts文件来做到这一点: –require ./node_modules/expect.js/index.js 但是现在我运行我的testing时出现以下错误: ReferenceError:expect没有定义 这似乎是有道理的 – 它如何知道在我的testing中expect的引用指的是expect.js库导出的内容? 期望的库肯定会被加载,就像我改变path到不存在的东西那么摩卡说: “错误:找不到模块”./does-not-exist.js“” 有什么办法可以完成我想要的吗? 如果可能有帮助的话,我正在进行一些testing。

如何在node.js中使用new运算符?

让我们有一个file.js这个代码: module.exports.func = function(txt) { this.a = 1; this.b = 2; console.log(txt, this); return this; } 现在我们有另一个JS文件,我们在这里做: var r1 = new (require('./file')).func('r1'); var r2 = new require('./file').func('r2'); 在r1的情况下,它按预期工作 – r1包含对新创build的对象的引用。 在r2的情况下,它不起作用 – r2从file.js中获取对module.exports的引用。 目的是通过调用func()构造函数来创build一个新的对象。 当然,我也可以这样做,这等于r1: var r3 = require('./file'); var r4 = new r3.func('r1'); 不过,我不明白为什么r2的行为与r1不一样。 如何额外的括号要求('./文件')有所作为?

在node.js中捕获需要模块的错误

似乎无法在任何地方find任何文章。 我基本上想要捕捉程序中的“无法find模块”错误,并可select要求安装它,但我似乎无法捕捉任何错误,甚至围绕我的require语句尝试/ catch。 这甚至有可能吗? 我没有看到它在任何地方。 例如: try { var express = require('express'); } catch (err){ console.log("Express is not installed."); //proceed to ask if they would like to install, or quit. //command to run npm install } 我想这可以用一个独立的.js启动文件来完成,而不需要任何第三方的要求,只需使用fs来检查node_modules ,然后可选地从subprocess运行npm install ,然后与另一个subprocess运行node app 。 但感觉就像在一个app.js文件中做这件事一样简单

定义是没有定义的Javascript节点

我正在尝试使用Node来运行Javascript文件,以将博客更新发布到Tumblr。 到目前为止,在我的main.js文件中,我有这样的: // Tumblr Information var tumblr = require('./vendor/tumblr'); tumblr.request(require('request')); var Blog; var jq = require('./vendor/jquery-1.11.1.min'); var reqq = require('./vendor/require'); var inher = require('./vendor/inheritance'); var grammars = require('./tracery/grammar'); 但是,当我运行节点main.js时收到以下错误 ReferenceError: define is not defined at Object.<anonymous> (B:\Documents\Google Drive\Programming\CMPM 147 Tracery\Tumblr Tracery\js\ tracery\grammar.js:6:1) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at […]