Articles of node.js

如何在node.js中使用两个数据库连接? (MySQL的)

我想使用express和mysql模块来请求两个数据库,并在端口8000上侦听。

terminal将不会打开npm二进制,即使它在那里

我使用sudo npm install mtemplate -g安装了一个全局npm包。 mtemplate包出现在我的/usr/local/bin目录中。 当我在该目录的terminal中键入ls时,它显示出来。 我可以在finder中看到它。 但是当我在terminal(或其任何变体)中inputmtemplate或/usr/local/bin/mtemplate , No such file or directory 根据文档,应该可以从terminal运行mtemplate 。 为什么没有发现,即使是在那里?

如何在打字稿文件中使用现有的JavaScript文件?

我在javascript中使用nodejs + express来存在项目。 目前一切工作在es5上。 现在我在同一个项目中添加了打字稿,我想在打字稿中做所有新的开发。 但我正在访问现有的JavaScript文件面临一个问题。 我发现我可以创build每个现有的JavaScript文件的定义文件xx.d.ts(不知道是否是正确的方法),然后在打字稿文件中使用它。 例如,我有javscript文件 myFile.js function myClass(){ //some functions here associated with this variable } exports.myData = new myClass(); 现在我想在我的新的ts文件中使用它 所以我在ts文件中访问的是 declare function require(path: string): any; var auth = require('./myFile').myData; 我不确定这是否正确。 其次我试着用myFile.d.ts文件。 我以下面的方式定义了这个文件 declare module './myFile' { export var myData: any } 但是这给出了相对path的错误 – TS2436环境模块声明不能指定相关的模块path 请让我知道,如果有人有任何想法来解决这个问题,或build议是否可以采取第一种方法。

错误:在WebStorm中找不到模块“内部/链接列表”

我有一个运行良好的脚本,当我运行在terminal与节点,但使用WebStorm我无法正常运行,因为它崩溃的依赖需求线。 我试图npm install internal/linkedList ,我也试图npm cache clean (如另一篇文章中推荐)。 完整的堆栈跟踪是: Error: Cannot find module 'internal/linkedlist' at Function.Module._resolveFilename (module.js:485:15) at Function.Module._load (module.js:437:25) at Module.require (module.js:513:17) at require (internal/module.js:11:18) at Object.<anonymous> (/Users/harshagoli/Library/Preferences/WebStorm2017.2/javascript/nodejs/8.1.4/core-modules/timers.js:26:11) at Module._compile (module.js:569:30) at Object.Module._extensions..js (module.js:580:10) at Module.load (module.js:503:32) at tryModuleLoad (module.js:466:12) at Function.Module._load (module.js:458:3)

摩卡testing案例res.render不工作

我正在编写一个简单的路由testing用例。 我用mocha , chai-http和sinon来检查是否显示正确的页面。 这是用户提供信息的contact页面。 联系人页面现在再次呈现。 以下是我的testing案例: const chai = require('chai'); const chaiHttp = require('chai-http'); const sinon = require('sinon'); const ejs = require('ejs'); var app = require('../app'); var path = require('path'); var fs = require('fs'); var Contact = require('../models/contacts'); chai.use(chaiHttp); var should = chai.should(); var expect = chai.expect; describe('Contact', () => { describe('/POST Contact', () […]

Node Js + MySql + Express – app.use(bodyParser()); 没有定义 – 错误build立连接到新的SQL方法

我试图映射连接基于路由器文件的数据库中的注册信息,但我没有得到通过路由器文件返回; 菜单导航>转到页面>获取信息到“efetuar venda”>在表sql中发布 index.js var http = require('http'); var express = require('express'); var mysql = require('mysql'); var bodyParser = require('body-parser'); var methodOverride = require('method-override'); var errorHandler = require('errorhandler'); import config from "./config/config"; import mongodb from "./config/mongodb"; import passport from "./config/passport"; import * as setup from "./middleware/setup"; import app from "./config/express"; import routes from "./routes"; import […]

获取package.json文件中另一个字段的值(npm)

我有以下package.json文件: { "main": "./dist/index.js", "scripts": { "build": "tsc", "build:live": "tsc && node ./dist/index.js" }, … } 我怎么能得到的main领域的价值,然后把它放到命令node ./dist/index.js ,这样的事情(只是一个例子,我知道这$是ENVvariables): { "main": "./dist/index.js", "scripts": { "build": "tsc", "build:live": "tsc && node $main" }, … } 提前致谢

使用Spy.js运行Node应用程序不能识别使用let定义的variables

我试图运行一个简单的节点应用程序,它具有一个全局variables,用let定义,并在函数中初始化,然后用在另一个(如下面的代码) let some_variable; a.doSomething(value => { some_variable = value; doSomethingElse(); }); function doSomethingElse() { // This is where I get the error console.log(some_variable); } 当从命令行或从WebStorm运行Node应用程序时,一切顺利,但是当试图用Spy.js运行它时,它不能识别some_variable并且说some_variable is not defined 。 我尝试使用–harmony标志运行,但似乎没有任何区别。 当更改let some_variable var some_variable它似乎工作,但这将需要我改变我的整个应用程序的代码只是为了得到它的Spy.js这似乎不是一个好主意。 任何想法如何让Spy.js识别letvariables? 我错过了一个简单的configuration标志? (节点版本是6.10.1)

Node.js child_process.spawn无法启动python进程

我已经写了下面的代码来产生一个python进程。 我能够启动其他进程,但不是Python。 我试过重新安装Python和节点,但仍然没有运气。 我能够从命令行运行python。 请帮忙。 const spawn = require("child_process").spawn; var process = spawn('python',[ 'D:/python_script.py']); var responseData = ""; process.stdout.setEncoding('utf-8'); process.stdout.on('data', function (data){ responseData += data.toString(); }); process.stdout.on('end',function(data){ console.log(JSON.stringify(responseData)); }); 使用节点64位v8.2.1 Python脚本,我正在使用: if __name__ == '__main__': import sys print("Hello") f = open('D:/myfile.txt', 'w') f.write('hi there\n') # python will convert \n to os.linesep f.close() sys.stdout.flush() 即使只是产卵('python'); 没有启动python窗口 […]

在debugging节点脚本时有没有办法将文件加载到Chrome

目前可以使用Chrome来debugging节点脚本,如下所述。 但是,如果我这样运行: node –inspect –debug-brk myscript 它只会将myscript加载到浏览器,并且可以在这个文件中放置断点。 但是,假设myscript需要一个脚本,我想在这个脚本中放一个断点。 由于Chrome检查器只加载了myscript所以我不明白这是如何实现的。 在脚本中需要这些文件之前,有什么方法可以将文件加载到Chrome检查器中,Chrome本身会加载它? 我目前正在修改源和debugger; 声明那里工作。 但是我在想这应该是更适合这个目的的东西。