Articles of 模块

导入目录的索引文件无法正常工作

application.js文件的下列内容报告“home”被导入的是未定义的。 import {home} from "./routes/index" console.log(JSON.stringify(home, null, 4)) index.js的内容如下: export * from "./home.js" home.js的内容如下: export const type = "GET" export const route = "/" export const middleware = []; export const action = function(req, res) { res.send("Testing custom routes"); } 目录结构的图片如下所示:

nodejscallback使用module.exports

我从NodeJS开始,并试图了解callback如何与module.exports相关。 我有两个NodeJS文件。 s1.js接收input字段消息并将结果传回。 s1.js通过module.exports公开 start.js包含s1.js(通过require),并接收我想在程序中使用的结果 start.js var s1=require('./s1.js'); var r1; s1.test("Leon", function(err, result) { if (err){console.log("Error occurred "+err);} console.log("Callback after s1.test execution "+result); r1=result; } ); console.log("result "+r1); console.log("end"); s1.js module.exports.test=function test(msg,result){ result="Hello "+msg; console.log("Inside s1.js – "+result); }; 当我执行start.js时,结果如下 Inside s1.js – Hello Leon result undefined end 正如所料,结果是未定义的,因为s1.test的callback尚未完成。 我不明白的是为什么从来没有达到s1.test的callback。 有任何想法吗? 谢谢莱昂

使用模块的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