Tag: 需要

如何在节点模块中访问具有相对path的文件?

我在node.js + expressbuild立一个应用程序,我得到一个文件目录错误。 我在/app/lib/tests文件夹中有一个名为ajax.js /app/lib/tests文件。 我的app.js文件在我的根/app目录中。 这里是我的app.js文件,给我麻烦的片段: https.createServer({ key: fs.readFileSync('./security/keys/localhost.key'), cert: fs.readFileSync('./security/keys/localhost.crt') }, app).listen(https_port); 在我的ajax.js文件中,我需要我的app.js文件: var server = require('../../app'); 这个问题是它给我这个错误: Error: ENOENT: no such file or directory, open './security/keys/localhost.key'告诉我文件目录没有正确排队。 如果我更改,我的ajax.js文件工作 Error: ENOENT: no such file or directory, open './security/keys/localhost.key' 至 Error: ENOENT: no such file or directory, open '../../security/keys/localhost.key' 但是,这会打破我的应用程序整体。 有没有一种方法,我可以从app.js文件目录传播到ajax.js? 提前致谢!

Node.js – 在运行时加载文件

我对Node.js相当陌生,并且在运行时无法理解加载库或文件的方式。 显然,使用Node.js的本地“require”函数在运行时加载文件是一个坏主意,因为它阻塞了I / O,因此不应该在请求处理程序中使用。 所以,我假设要避免这样的事情: var http = require('http').createServer(function(req, res) { var file = require('./pages/'+req.url); res.end(); }).listen(8080); 那么是否有一种方法可以在运行时以非阻塞/asynchronous的方式要求文件? 我不认为总是可以在“启动时间”而不是运行时加载文件,因为就像上面的例子一样,知道要加载/需要的文件的唯一方法是通过req.url属性获取文件名。 所以这似乎是唯一的select。 除非,文件夹中的所有文件都是预加载的,然后通过名称调用callbackfs.readdirSync (通过使用fs.readdirSync或其他函数遍历文件夹中的所有文件,并将获取的文件名与req.url属性进行比较),但这似乎是浪费。 “预加载”文件夹中的所有文件(大约50个文件),然后只使用其中的1个,似乎不是一个好主意。 我错了吗? 无论哪种方式,我只想知道是否有一种方法,以更好,非阻塞/asynchronous的方式在运行时需要文件。 谢谢!

我怎样才能以简单的方式将函数转换为RequireJS中的模块?

我一直在阅读文档,但我似乎无法以一种简单的方式做到这一点。 我觉得我对node.js使用相同的单词,例如require , exports , module等,太多了。 想象一个主要的脚本是这样的。 (想象这些function是复杂的) require(['jquery', 'domReady!'], function($) { $("#staticButton").click(function() { showMessage('What does this button do?'); }); function showMessage(message) { alert(message); } }); 现在想象我想在多个脚本中使用showMessage() 。 我怎样才能做到这一点? 在Node.js我会将showMessage()附加到showMessage.js并且在我想要使用它的任何地方执行此类操作: require(['jquery', 'domReady!'], function($) { var showMessage = require('showMessage'); // Easy huh? $("#staticButton").click(function() { showMessage('What does this button do?'); }); }); 但是对于RequireJS这给了我首先需要加载的错误。 在使用上面的语法之前,我是否require或者define这个? 我真的需要在主脚本require数组中添加它吗? 我不喜欢那样 如果你有20个function呢? […]

Node.js用空白字段导入csv

我正在尝试使用csv-parse包导入&parsing一个CSV文件,但是在首先require csv文件时遇到困难。 当我做input = require('../../path-to-my-csv-file') 由于连续的逗号,我得到一个错误,因为有些字段是空的: e","17110","CTSZ16","Slitzer™ 16pc Cutlery Set in Wood Block",,"Spice up ^ SyntaxError: Unexpected token , 如何将CSV文件导入节点环境? 包示例在这里

NodeJS …保存JSON到一个variables

我是NodeJS的一个新手,但是我环顾四周,似乎无法find解决我的问题。 我相信这是简单的,但在此先感谢您可以给我所有的帮助! 我试图通过NodeJS做一个简单的JSON刮刀。 我所需要的是将JSON存储到一个variables。 问题是,我正在使用Require,他们的例子只是将其logging到控制台。 我已经尝试添加一个variables后,它login到控制台,但我只是变得不确定。 这里是我的代码下面,这是相当简单至今:) // var jsonVariable; Doesn't work, shown as a test function getJSON(url){ var request = require("request") request({ url: url, json: true }, function (error, response, body) { if (!error && response.statusCode === 200) { console.log(body) // Print the json response //return body; This doesn't work, nor does making a […]

Node.js – search“util”模块; 确定核心模块

我真的是Swagger节点模块的忠实粉丝,但有一件事让我发疯: 示例应用程序包含以下行( api/controller/hello_world.js ): var util = require('util'); 但是我找不到这个模块。 我尝试过了 列出它与npm list但没有 用Spotlightsearch它( util.js ) 我的问题是:如何列出在nodejs中实际加载的模块?

在require()的左边使用variables名是否存在一个标准?

一个简单的问题:我不明白是否有一个标准存在用于require()的左边的variables名,如果是的话,它需要什么:大写或小写(camelcase)variables名? 更清楚: myImage = require('./image'); 要么 MyImage = require('./image'); ? 我问,因为所需的模块总是返回对象,所以他们可以用作类或对象…

数组中的函数在js中为null

我在编写数组中的函数时遇到了麻烦。 这是发生了什么事情: config.js module.exports = { transformers: { reshape: { parser: 'sugarml', plugins: [ // require('reshape-custom-elements')({defaultTag: 'span'}) function () { console.log(arguments) } ] } } } 然后在节点REPL中 var config = require('./config.js') console.log(JSON.stringify(config.transformers, null, 2)) 它输出 { "reshape": { "parser": "sugarml", "plugins": [ null ] }, "uglify-js": { "mangle": { "toplevel": true } }, "rollup": { […]

如何在node.js项目子文件夹中使用require()

我的Node.js项目有这样的目录结构: server.js 的package.json … 上市 app.js 的index.html 对require()调用在server.js工作正常,但是当我尝试在app.js需要一个包时,会引发ReferenceError : require is not defined at app.js:1 如何从不在我的项目全局范围内的文件中获取节点模块?

如何正确模块化一个node.js项目?

我正在创build一个类构造函数模式下的node.js项目: function my_class(x,y){ this.x = x; this.y = y; } 该项目的起点是main.js文件。 任何类的项目都必须能够访问在main.js上定义的全局对象(比如“world”和“socket”)。 我发现了4个选项: 我在main.js定义了我的类。 他们可以访问main.js的全局variables来closures它,但main.js会变得臃肿。 我把这个类移动到另一个文件,如my_class.js并require()它。 这不起作用,因为my_class的实例将失去闭包上下文,不再能够访问main.js的全局variables。 我将该类移动到另一个文件中,并手动向其构造函数注入依赖项(例如: my_class(world,socket) )。 问题是,代码变得复杂得多,怪异的语义,比如“my_instance.world”在源代码上popup,这是无稽之谈,因为“world”不是my_class属性。 我将该类移动到另一个文件中,并且使用my_class = eval(fs.readFileSync(())而不是require 。这很好,因为my_class获取main.js的闭包上下文,并且是我正在使用的解决scheme,但似乎hacky。 模块化这种node.js项目的正确方法是什么?