Tag: 模块

使用模块的Typescript

我正在尝试构build我的第一个简单的基于ORM的Node JS应用程序。 我创build了这样的Database模块 import * as Knex from 'knex'; import * as Bookshelf from 'bookshelf'; module Database { class Config { private static _knex: Knex = Knex({ client: 'mysql', connection: { host: '127.0.0.1', user: 'root', password: '', database: 'test', charset: 'utf8' } }); static _bookshelf: Bookshelf = Bookshelf(Config._knex); } export function bookshelf() { Config._bookshelf.plugin('registry'); Config._bookshelf.plugin(['virtuals']); […]

Node.js模块从MongoDB数据库中获取数据

我想使用一个模块来获取和处理来自我的MongoDB数据库的数据。 (它应该生成一个代表我的Express.js网站的导航栏的对象) 我想到做这样的事情: var nav = { Home: "/" }; module.exports = function() { MongoClient.connect(process.env.MONGO_URL, function(err, db) { assert.equal(err, null); fetchData(db, function(articles, categories) { combine(articles, categories, function(sitemap) { // I got the data. What now? console.log("NAV: ", nav); }) }); }); }; var fetchData = function(db, callback) { db.collection('articles').find({}).toArray(function(err, result) { assert.equal(err); articles = result; […]

nodejscaching与module.exports问题

我是nodejs的新手。 我有这个脚本: book.js var page = 0; exports.setPageCount = function (count) { page = count; } exports.getPageCount = function(){ return page; } 随着follownig脚本: scripts.js var bookA = require('./book'); var bookB = require('./book'); bookA.setPageCount(10); bookB.setPageCount(20); console.log("Book A Pages : " + bookA.getPageCount()); console.log("Book B Pages : " + bookB.getPageCount()); 我得到的输出: Book A Pages : 20 Book […]

导出variables“路由器”具有或正在使用来自外部模块的名称“路由器”,但无法命名

在直接使用Typescript 2和@types/express@4.0.35定义导出路由器时,在多个文件中定义嵌套路由器的常见结构如下代码抛出 error TS4023: Exported variable 'router' has or is using name 'Router' from external module "[…]/node_modules/@types/express-serve-static-core/index" but cannot be named. 从basarat的答案采取的例子 import * as express from "express"; // import sub-routers import * as adminRouter from "./admin/admin"; import * as productRouter from "./products/products"; let router = express.Router(); // mount express paths, any addition middleware can […]

如何与node + express共享一个对象

我正在使用Node + express,我试图找出如何与我的模块共享主js文件中的对象实例。 我有这个代码在bellow。 var express = require('express'); //libs var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var conf = require('config'); var logConf = conf.get('log'); var winston = require('winston'); //modules var index = require('./routes/index'); var users = require('./routes/users'); var camera = require('./routes/camera'); var […]

NodeJSasynchronous/等待导出variables

我再次破坏b *** s …我很抱歉不得不回到你们身边,但我发现网上提供的信息很混乱,似乎无法find一个适当的答案,我的问题。 所以如果你们中的一个能够帮助我的巫师/神灵,我将不胜感激。 我试图将一个承诺产生的variables导出到不同的模块。 这是我的代码: 主要的: //app.js <— This is where I need the variable exported. var sp1 = require('./module'); var somePromise2 = new Promise((resolve, reject) => { resolve('Hey! It worked the second time!'); }); async function exec() { const message1 = await sp1.msg const message2 = await somePromise2 console.log('Success', message1, message2); } […]

Node.js有效地导出非匿名函数(所以eslint停止抱怨)

使用ESLint与Airbnb风格指南如何有效地写入模块中的导出function,而不被打扰? 下列: exports.istest = function() { console.log('Test'); }; 抛出一个eslint'意外的未命名函数'警告,同时: exports.istest = function istest() { console.log('Test'); }; 似乎悲观重复。

类引用本地模块function

说,有一个输出课程的模块。 它是否违反任何从类方法引用已声明的本地函数的原则? 一个例子: function doSomething() {} class Cat { constructor () {} say () { doSomething() return 'meow' } } module.exports.Cat = Cat

Node.JS错误:找不到模块'posix'(使用Cygwin)

我正在尝试使用Cygwin运行一个简单的node.js webserver 。 我安装节点后, 将 文件复制到test.js ,这就是我得到的。 $ node test.js node.js:116 throw e; // process.nextTick error, or 'error' event on first tick ^ Error: Cannot find module 'posix' at Function._resolveFilename (module.js:299:11) at Function._load (module.js:245:25) at require (module.js:327:19) at Object.<anonymous> (/home/me/test.js:27:13) at Module._compile (module.js:383:26) at Object..js (module.js:389:10) at Module.load (module.js:315:31) at Function._load (module.js:276:12) at Array.<anonymous> (module.js:402:10) […]

Node.js:v0.8中的域模块

我想问一些关于节点v0.8中的新模块“域”的问题。 var domain = require('domain'); var EventEmitter = require('events').EventEmitter; var dm = domain.create(); dm.on('error', function(err) { console.log('Catch some error: ', err.message); }); var emitter = new EventEmitter(); emitter.on('test', function() { throw new Error('Emit an error !'); }); dm.add(emitter); // emitter.emit('test'); <- This line dm.run(function() { setTimeout(function() { throw new Error('Timeout !'); }, 10); }); 输出: […]