Tag: 需要

在node.js中处理`exports`的build议

理论: 其中一个吸引我关于node.js的东西是使用它作为命令行工具。 从理论上说,我可以用Javascript编写库,并将它们放在我的~/.node_libraries目录中,然后我可以重用这些库。 所以举例来说,我在~/.node_libraries有一个text.js ~/.node_libraries ,它有一堆反复使用的文本相关函数( depunctuate() , tokenize_text() )。 这样做的text.js在于,我可以使用与我的命令行脚本和服务器端相同的text.js文件。 现在我正在用Python处理所有文本处理的东西,但我只想坚持一种语言。 实践: AFAICT,为了创build一个node.js模块,我必须将所有我想要的东西都附加到exports或者this 。 也就是说,在text.js ,我必须这样做: exports.depunctuate = depunctuate 要么 this.depunctuate = depunctuate 如果我使用exports ,我在使用库服务器端àla时遇到问题: <script src=text.js></script> 因为那我得到出口没有定义的错误。 如果我使用this ,我会避免这个错误,但是我导出的所有东西都会被附加到窗口对象上。 有没有办法可以设置这些避免这两个问题的库? 例如,是否有一些方法可以包装导出导出,以便var对于节点显而易见,但是不能在服务器上的纯Javascript文件中使用。

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方法,这是不可能的,据我所知…

浏览捆绑电子应用程序的主要进程文件

我正在构build一个电子应用程序,目前使用browserify渲染器(网页)文件像任何其他的JavaScript前端。 我也想用browserify捆绑主要的进程文件。 但是,bro​​wswerify无法find像剪贴板,ipc,浏览器窗口,应用程序等模块内置的电子… 在我的main.js文件中,它是电子应用程序的入口点。 我有: const ipc = require('ipc'); const clipboard = require('clipboard'); const BrowserWindow = require('browser-window'); const app = require('app'); const yargs = require('yargs'); const yargs会正常加载,因为它在node_modeuls文件夹中,而browserify可以解决这个问题。 然而,其他四个项目不能被browserifyfind,因此失败了我的构build。 [11:49:17] Finished 'development' after 17 ms Error: Cannot find module 'ipc' from '<path>' Error: Cannot find module 'clipboard' from '<path>' Error: Cannot find module 'browser-window' from '<path>' […]

当使用require时,节点js和new

我一直在尝试在node.js中包含其他js文件。 我已经阅读了有关require函数和其他select的所有内容,并决定使用require函数(因为代码只能在node.js上使用,而不是在浏览器中使用)。 在我的代码中,我正在使用原型创build一个“对象”,我稍后希望创build一个实例。 为了得到它的工作,我一直在写代码如下(让我们称之为vehicle.js): var util = require('util'); var EventEmitter = require('events').EventEmitter; module.exports = Vehicle; util.inherits(Vehicle, EventEmitter); function Vehicle(options) { EventEmitter.call(this); options = options || {}; … } Vehicle.prototype._doStartEvent = function(data) { this.emit('start', data); }; Vehicle.prototype.testRun = function() { this._doStartEvent(); }; 然后在我的主要JS(让我们称之为server.js),我有以下几点: var test = exports; exports.Vehicle = require('./vehicle.js'); var remoteVehicle = new test.Vehicle({address: "192.168.1.3"}); […]

node.js需要inheritance吗?

在我的server.js我包括下划线库。 var _ = require('underscore') 我有这样的路线: // require routes require('./routes/document'); 在文档path中,我想使用下划线。 但似乎_ var没有被inheritance/在文档范围内。 这是否意味着我必须在每个需要的路线上设置_ var? 还是有更聪明的方法来做到这一点? 谢谢。

认真debuggingnode.js'找不到模块xyz / abcd'

我有Error: Cannot find module xyz/abcd错误。 是,安装所需的模块。 根据module.require的伪代码在这里 ,它应该工作。 我试图潜入require()来理解为什么找不到我的文件。 我的节点debugging器将不会进入require()。 我已经尝试了strace / grep NOENT技术而没有成功。 任何想法如何解决一个讨厌require()失败? 注意:以防万一:错误来自需要xyz / b的文件node_modules / xyz / a。 它应该按照文档工作。

如何使用JS require()而不使用Node.js

这可能是一个蹩脚的问题,但是如何在常规JavaScript中实现与require() (Node.js)相同的function呢? 有些帮助真的会被赞赏。

使用CoffeeScript中的Node.js需求和类来解决循环依赖关系

我想知道是否有一种方法可以在使用CoffeeScript类和super时候习惯性地避免Node.js require循环依赖的问题。 鉴于以下简化的CoffeeScript文件: 一杯咖啡: C = require './c' B = require './b' class A extends C b: B someMethod: -> super module.exports = A b.coffee: C = require './c' A = require './a' class B extends C a: A someMethod: -> super module.exports = B 第一个显而易见的问题是,A和B之间存在循环依赖关系。无论哪个先评估,都将作为另一个参考。 为了在一般情况下解决这个问题,我可能会尝试在每个方面做这样的事情: 一杯咖啡: C = require './c' class A extends […]

Node.js – require是没有定义的exception

我是一个完整的Node.js新手,并在基础上挣扎。 在服务器上运行此代码: var http = require("http"), sys = require("util"), io = require("socket.io"), GlobTrie = require("glob-trie.js"); 在第一个要求给我一个例外: Uncaught ReferenceError: require is not defined (anonymous function) 有什么想法吗? 最好的问候,本。

如何在Eclipse中获得Node.js的代码完成?

在Eclipse中开发Node.js应用程序时,通常会导入自己的模块,其function与exports (append functions)或module.exports (允许使用stream行的object literal符号)有关。 但是,如何在导入模块的文件中设置代码完成? 模 在outliner可以看到, Eclipse “知道”这个函数: 然而,将模块作为tools导入不会使其function可用: 我也尝试了oldskool //@import tools.js但它似乎并没有像这样工作。 如何在我的项目中为自己的函数获得代码完成?