Tag: 要求

Node.js:如何从模块中获取需要函数的文件名?

我试图从模块的function需要从原来的文件名。 我知道你可以使用__filename来获取当前文件,但我想获得原始文件。 例如,我有一个简单的模块 module.js module.exports(function() { return { print : function(message) { console.log(__filename + ' ' + message); }; } }); app.js var module = require('./module')(); module.print('hello'); 最后发生的是它会打印module.js hello但我真的很想看到app.js hello 。 我正在探索如何获得它,我知道你可以使用console.trace来看看堆栈的调用,但我不能parsing它来做我想要的。 现在我已经通过使print函数接受另外一个参数来处理它,并且只需从app.js传递__filename ,但是我想find一个解决scheme,我不必这样做。

Node.js:哪个模块“require('..')”使用socket.io?

在https://github.com/socketio/socket.io/blob/master/test/socket.io.js 代码: 什么是要求的模块名称?

coffeescript传递require()参数错误

代码require ('./routes') app编译require('./routes'(app)); 但我需要它来编译require('./routes)(app) 。 我怎么能这样做?

限制npm依赖项模块对require(isolation)的使用

有没有办法通过限制使用require来require一个npm模块? 例如,一个应用程序可以提供一个系统来扩展它的一些function,通过提供一个npm模块来完成一个给定的合同( 比如说它用一个方法process导出一个类 )。 该模块,如果知道require它的应用程序的源代码可能require('db').connect().flush()或类似的东西。 这个应用程序扩展可能require从它的主机的任何修改它。 npm是否允许限制/安全的方法来处理这种情况(可能通过使用进程)? 谢谢。

browserify模块加载到函数中

我有一个app.js这是我的web应用程序的主要文件。 它初始化用户界面并加载不同的模块。 目前这是一个包含所有代码的大文件。 我想重构这个function,并将其分解为独立的模块,然后将它们与browserify捆绑在一起。 App.js也依赖于jQuery和一些模块。 我已经在package.json定义了browser部分 "browser": { "jquery": "./node_modules/jquery/dist/jquery.js", "jquery-ui": "./static/js/vendor/jquery-ui-1.12.1/jquery-ui.min.js", "App": "./static/js/app.js", "myModule": "./static/js/myModule.js" } 另外我用browserify-shim来加载一些无法加载的jquery插件。 对于browserify-shim我已经定义了一个configuration部分: "browserify": { "transform": [ "browserify-shim" ] }, "browserify-shim": { "jquery": "$", "jquery-ui": { "depends": [ "jquery:$" ] }, "bootstrap": { "depends": [ "jquery:$" ] }, "dropdown": { "depends": [ "jquery:$" ] }, "App": { "exports": "App", […]

使用Visual Studio代码的JavaScript Intellisense:如何让它适用于所需的模块?

出于某种原因,intellisense将不适用于我所需的模块。 至less是开箱即用的。 例如(这是JS代码): const fs = require('fs'); input时不会触动intellisense: fs. 进一步下来的代码。 但是,如果我在项目的node_modules目录(运行$ npm install命令)中安装了“some”模块,我会在popup它之后让intellisense工作。 无论哪个模块安装(显然)。 更令人费解的是,完全删除node_modules将会使intellisense继续工作。 即使反弹VS Code也不会影响智能感知,从这一点开始,智能感应将继续工作。 它看起来像安装“一些”模块以某种方式固定任何不适合智能感知。 问题是,这个问题在哪里? 在一个文件? 还有,这是什么? PS:我在Ubuntu Mate 16.04上使用VS Code 1.7.2和Node 6.5.0。

在node.js中重新映射require()的本地path

在RequireJS中,我可以使用configuration文件重新映射path,例如: require.config({ paths: { foo: 'lib/foo/foo' } }) 我可以这样使用foo: require(['foo'], function(foo) {…}) 在node.js中,我可以类似地要求本地文件,例如: var foo = require('../lib/foo/foo.js') (在这个例子中, foo.js是我写的文件,不能通过npm获得) 是否有可能重新映射'foo'到'/lib/foo/foo.js'相对于node.js中的一些基本目录,所以我不必使用相对path?

所需模块相同,path不同,variables不共享

我真的失去了如何工作,我试图find真相。 Nodejs文档说,每次你需要相同的模块(不同的path或不同),你会得到相同的对象。 但对我来说,即使我需要相同的模块,这也不是同一个对象。 我已经创build了一个简单的项目来尝试这个,一个内存caching系统。 首先我们有主文件,第一个testing文件添加一个项目,第二个testing文件获取添加项目。 //main.js var exports = module.exports = {}; var debug = require("debug")("memcache:main"); var CACHE = {}; debug(CACHE); exports.set = addItem; exports.get = getItem; function addItem(key, value) { debug(key); debug(value); CACHE[ key ] = value; debug(CACHE[ key ]); } } function getItem(key) { debug(key); debug(CACHE[ key ]); return CACHE[ key ]; } […]

Javascript库使用require(),但我没有或使用nodeJS?

我遇到了几个使用这个require()函数的JavaScript项目和库,以便包含其他文件,如下所示: require('somefile') 我从来没有听说过,显然这是node.js,我没有和不使用的东西。 我只是打算在我自己的网站中使用这些JavaScript库,但是我看到了各种涉及“npm”的指令(无论这可能是什么)。 然后有一个被称为required.js的替代品,但似乎使用不同的语法,如强制使用require([…])或其他东西,而我需要包括的项目只需要(… …) )。 什么是最简单的方法来处理这个需要(…)在正则html5网站中使用JavaScript项目的东西? (即所有应该运行客户端) 另外:我已经尝试require.js,但似乎没有工作。 例如,somelibrary.js中的第一行是这样的: var assert = require('assert') 当我以前包括require.js,然后somelibrary.js,我得到这个错误: 未捕获exception:错误:模块名称“assert”尚未加载上下文:_。 使用require([]) 这发生在任何包含require() 另一个补充:我注意到人们提到“浏览”。 我试图包括的一些js项目也推荐这个。 显然这应该生成一个可以使用的.js文件,我可以包括。 但 他们为什么不直接发布这个browserified .js? 我有什么需要自己编译的原因吗? 它应该是所有浏览器或网站通用的东西,对吧? 这browserify的东西,这显然是为了避免node.js,实际上似乎需要node.js本身(说明都提到“npm -g install browserify”等)

Node.js – require()d模块的范围是什么?

我试图组织一个使用Express 4开发的Node.js应用程序,并且对使用require()导入的模块范围感到困惑。 想象一下,我使用require('./services/user')来导入一个模块,比如routes / user.js中的服务 : var userService = require('./services/user'); 然后我在另一个模块routes / department.js中执行相同的require('./services/user') 。 我的问题是:userService是user.js和department.js中的同一个实例还是每个都有自己的userService对象? 也就是说,一旦你通过module.exports = XXX导出了一些元素,如果你需要相同的文件,你会总是得到相同的实例吗? 你能告诉我在哪里指定的Node.js文档?