Articles of node.js

使用本地代码运行npm脚本

目前我使用本地代码运行npm脚本: 的package.json: "scripts": { "test": "node ./node_modules/karma/bin/karma start", "node-test": "node ./node_modules/jasmine/bin/jasmine", "build": "node ./node_modules/gulp/bin/gulp build" }, 我不想使用全局代码,因为我可以忘记添加代码到package.json。 这样,当一个局部缺失,然后我得到了一个错误消息,我没有问题,因为一些代价不是全球安装,例如,业力插件。 有没有更好(更短)的方式来定义使用本地库的npm脚本? 这个travis是兼容的吗? 编辑: 如果不是很明显,我在全局安装了相同的库,但是我想使用这些项目的本地安装。 这意味着当我用karma start启动业karma start ,全局安装的版本将启动karma服务器,这意味着如果我没有全局安装所有的karma插件,那么我得到错误。 另一个问题,我有Windows,所以在这里描述的解决scheme: 如何使用在node_modules本地安装的软件包? 不工作。 Windows无法识别#!/bin/sh和#!/usr/bin/env node点头部分,并且根据我所知,没有sh命令。 至less不要在webstormterminal。 Git bash有sh命令,但是我想从webstormterminal运行这些npm脚本。 一个可能的解决scheme可能是修复webstorm,所以它可以从terminal使用sh。 之后,我可以使用$(npm bin) 。 但这只是一个猜测。 我不确定这是否可以做到。

JavaScript String concatreplace第一个字符

任务 从日志文件中提取SQL语句后,我正在做简单的string连接来追加一个; 最后: var query = line[i] + ";" 问题 它应该是什么样子: insert into […]; 它看起来像: ;nsert into […] 途径 我尝试了不同的连接机制,看到只有附加的连接失败。 for (i in lines) { var txt = lines[i]; console.log(txt); // "insert into" console.log(txt.concat(";")); // ";nsert into" console.log(txt + ";"); // ";nsert into" console.log(txt+=";"); // ";nsert into" console.log(";" + txt); // ";insert into" } 提取脚本 […]

使用NodeJS发送Windows命令

尝试使用Googlesearch,但从来没有得到我需要的具体答案。 所以基本上我想在Window上开发一个NodeJS应用程序,它将接收http请求(Rest API风格)并将它们转换为带有参数的命令行命令来触发内容。 有什么教程或特定的NodeJS软件包,我可以用它来做? 干杯,帕维尔

由于窗口上的长path错误,无法将节点js模块添加到git

我将email-template node.js模块添加到我的项目中。 它自动添加了依赖关系。 由于窗口上的长path错误,其中一组不能添加到git。 其中的一个文件: D:/t/nodeTest/node_modules/email-templates/node_modules/juice/node_modules/web-resource-inliner/node_modules/uglify-js/node_modules/yargs/node_modules/cliui/node_modules/right-align/node_modules/align-text/node_modules/kind-of/node_modules/is-buffer/.travis.yml 我注意到有很多的依赖关系。 此外,我试图使用npm dedupe来制作平坦的path。 但它也给这些文件提供了unavoidable conflict警告。 有没有办法将这些文件添加到git? 或者缩短文件path? 或使依赖关系平坦?

Nodejs OLE-COM服务器

我正在使用win32ole来访问Windows PC中的COM-OLE (自动化)绑定,如excel,word等 现在我想要的是使用nodejs实现COM-OLE服务器。 我似乎无法find任何支持这些nodejs模块。 最后,我只需要将COM-OLE对象/接口暴露给在PC内部运行的任何应用程序,以便他们可以访问我的应用程序。 谢谢,顺便说一下,我正在使用Electron.js。

在Windows 10上安装后,node.js无法检查版本

我在Windows 10上安装了node.js版本4.4.1,并且试图用来自互联网的教程进行编码。 build议的第一件事是写“$ node -v”,但之后我得到以下错误:

如何静态存储和调用一个node.jscallback函数

我有一个node.js插件,我为节点0.10开发,我需要更新它的当前节点。 我修复了大部分的API变化,但我坚持存储一个callback指针静态为以后调用的问题。 我修改了3_callback示例插件,以显示我到目前为止所做的以及编译期间发生的错误。 这是我到目前为止(编译错误添加为注释行): #include <node.h> using namespace v8; typedef Persistent<Function> CallBack_t; static CallBack_t MyCallBack; void CallBack( char* str ) { Isolate* isolate = Isolate::GetCurrent(); HandleScope scope( isolate ); const unsigned argc = 1; Local<Value> argv[ argc ] = { String::NewFromUtf8( isolate, str ) }; Local<Function> cb = Local<Function>::New( isolate, MyCallBack ); cb->Call( isolate->GetCurrentContext()->Global(), argc, […]

在Windows中的Javascriptterminal仿真

我正在尝试使用Javascript / NodeJS来构build一个新的命令行/terminal供个人使用,但我遇到了一些问题。 我似乎无法find一个体面的方式与我自己的JavaScript的Windows命令行交互。 我明白,默认情况下,浏览器不允许JavaScript与基于系统的命令交互,所以我正在考虑使用socketIO或类似的东西。 我打算使用电子(铬)。 我想知道什么是一个很好的方向拉窗口命令行env到我的窗口。 诚然,即使只是从CMD中获取现有的产出也是一个很好的开始。

nodejs在windows文件系统path错误4058 ENOENT

我正在使用windows nodejs文件系统来写入进程日志。 我有以下的代码 var fs = require('fs'); var config = JSON.parse(fs.readFileSync('config.json', 'utf8')); var statusLogStream = fs.createWriteStream("../logs/load stat"+(new Date())+".log"); 事实certificate,一个错误 { [Error: ENOENT: no such file or directory, open 'C:\proc\logs\load stat Mon Apr 18 2016 19:09:32 GMT+0530 (India Standard Time).log'] errno: -4058, code: 'ENOENT', syscall: 'open', path: 'C:\\proc\\logs\\load stat Mon Apr 18 2016 19:09:32 GMT+0530 (India […]

使用node.js区分真实的Windows目录和“向后兼容的”目录

我的(德语)Windows 10上的fs.readdir()方法列出了“Program”作为C:\一个目录。 这当然是链接到C:\Program Files的着名的“假”目录(就像C:\Documents and Settings ),以保持为在Windows XP下开发的程序的向后兼容性。 问题是我无法将这种目录与“真实”的目录区分开来。 fs.statsSync("C:\\Programme").isDirectory()返回true fs.statsSync("C:\\Programme").isSymbolicLink()返回false fs.accessSync("C:\\Programme", fs.F_OK)返回true fs.readdirSync("C:\\Programme")会抛出 因此,我发现区分这些文件夹的唯一方法是读取它们的内容,这听起来像是浪费资源给我的,如果我想为C:\每个目录执行此操作,则更是如此。 有没有其他可靠的方法来做到这一点?