Articles of node.js

npm错误代码ENOENT错误no-4058 npm无法find文件

这个问题几乎与每个npm模块的安装有关。 我认为这与SQLite 3模块有关,因为每当我使用npm init创build一个新项目,并安装SQLite 3以外的其他模块(比如crypto-js或yargs等),它就可以工作。 但是在安装SQLite 3之后不久,没有其他模块可以安装,并且发生以下错误。 我试图到处search,但无法find解决scheme。 我希望我能在这里find一个解决scheme。 我的Node版本是v8.2.1, npm版本是5.3.0。 我的操作系统是Windows 8.1 Professional。 F:\ name> npm install crypto -js –save npm WARN todo-api@1.0.0没有描述npm WARN todo-api@1.0.0没有版本库字段。 npm ERR! pathF:\ name \ node_modules \ sqlite3 \ node_modules \ node-pre-gyp \ node_module s \ npmlog \ node_modules \ are-we-there-yet \ node_modules \ delegates npm ERR! 代码ENOENT npm […]

从API.ai履行请求获取代理信息

有没有一种方法可以从履行请求中获取API.ai代理信息? 我正在尝试捕获可以从代理传递的Node.js代码中的任何唯一参数。 这将用于使用单个代码库来处理多个代理的逻辑。 对于亚马逊Alexa我可以从会话中获得技能应用程序ID。 API.ai中有类似的东西吗?

在macOS上使用JavaScriptCore.framework(jsc)而不是Node.js来处理非GUI脚本

TL; DR 是一种在JavaScriptCore.framework(jsc可执行文件)中使用macOS的本地javascript解释器运行Node.js脚本的方法。 长: 我愿意编写和共享一个小工具,在网站项目中使用svgo,uglifyJS2,cssclean和csso来缩小和压缩基于文本的文件,压缩部分使用zopfli和brotli。 Svgo,uglifyJS2,cssclean和csso都是Node.js脚本。 在最初的研究中,我偶然发现了几个将node.js脚本编译成可执行文件或者用基于webkit的浏览器框架来重新包装它们的项目。 但是,所有这些项目还包括一个特定的html / css渲染引擎,以便启用guis。 因此,他们添加了一个重要的开销(约60-75mb)的最终文件大小。 由于svgo,uglifyJS2,cssclean和csso脚本不需要guis,我想知道是否有一种方法可以在JavaScriptCore.framework(jsc可执行文件)中使用macOS的本地JavaScript解释器来运行Node.js脚本。

如何从外部导入webpack条目文件的默认导出?

我想我最好用代码来解释它。 我在webpack中有一个文件,如下所示: import ReactDOMServer from 'react-dom/server'; import Server from './server'; import templateFn from './template'; export default (req, res) => { const reactString = ReactDOMServer.renderToString(<Server />); const template = templateFn(html); res.send(template); }; 我也有一个明确的应用程序,我想要访问默认的导出function。 如果有什么区别,这个文件就是webpack的入口文件。 这是我在我的快速应用程序中尝试的: const handleRequest = require(path.resolve(webpackConfig.output.path, webpackConfig.output.filename)); app.get('*', (req, res) => { console.log(handleRequest); }); 我试图导入webpack生成的文件,希望能够访问条目文件的默认导出。 那么,我错了,因为导入的输出是{} 。 有一个webpack插件或某种技术来做我想要build立的? 我不希望快速应用程序成为webpack构build的一部分。 这是我以这种方式分离代码的主要原因。

gulp-open在createWriteStream之后不工作

我正在使用gulp,gulp-eslint和gulp-open来创build一个ESLint结果的报告。 linting和文件写入部分工作正常,但打开文件的任务,我写了我的报告,没有。 gulp.task('LintAll_Report_After', ['LintAll'], function () { gulp.src('./_reports/eslint-html-result.html').pipe(open()); }); gulp.task('LintAll_Report', function () { gulp.src('./_reports/eslint-html-result.html').pipe(open()); }); gulp.task('LintAll', function () { gulp.src('./_reports/eslint-html-result.html').pipe(open()); var stream = gulp.src(filesToLintGlob) .pipe(eslint()) .pipe(eslint.format('html', fs.createWriteStream('./_reports/eslint-html-result.html'))); //stream.on('finish', function () { // console.log('finished'); // stream.end(); // setTimeout(function () { // gulp.src('./_reports/eslint-html-result.html').pipe(open()); // }, 10000); //}); return stream; }); LintAll删除我的文件,然后将结果写入一个HTML文件。 LintAll_Report在浏览器中打开我的报告。 LintAll_Report_After在完成LintAll任务后应该打开我的报告。 LintAll工作正常。问题是报告打开:LintAll_Report工作,如果自己调用…但LintAll_Report_After不起作用。 没有错误,在任务运行资源pipe理器控制台我什至看到行[13:40:17] Opening C:\GITDEV\stiletto-online\_reports\eslint-html-result.html […]

我怎么能概括Node.js中的http响应处理程序?

我正在为节点应用程序编写一个rest api,并且我发现自己重写了如下的很多内容: function(req, res, next) { databaseCall() .then( (results) => { if (results != null) { res.status(200).send(results); } else { res.sendStatus(404); } }) .catch(function(err) { console.log("Request error: " + err.stack); res.sendStatus(500); }) } 我想重构响应部分,所以我可以做类似的事情 databaseCall() .then(handleResponse) handleResponse将负责整个响应/捕获过程。 但我不能完全弄清楚如何做到这一点。 databaseCall方法因端点而异 – 有时需要一个参数,有时不需要。 我可以做一个通用的函数expression式,将数据库调用的结果,并将其坚持在承诺链,但我不知道如何访问该函数内的响应对象。 我知道我可以添加另一个function来结合一切,如下所示: function(databaseCall, parameter, req, res, next) { databaseCall(parameter) .then( (results) => { if […]

使用pm2来做纱线开始给出错误,而npm开始正常工作

我有一个NodeJs微服务。 纱线的启动通常很好。 当我尝试使用pm2来启动这个作为后台服务时,面对以下问题: /Users/sairamk/.pm2/logs/api-error-21.log last 15 lines: 21|api | /usr/local/Cellar/yarn/0.27.5_1/bin/yarn:2 21|api | PREFIX="/usr/local" exec "/usr/local/Cellar/yarn/0.27.5_1/libexec/bin/yarn.js" "$@" 21|api | ^^^^ 21|api | 21|api | SyntaxError: Unexpected identifier 21|api | at createScript (vm.js:74:10) 21|api | at Object.runInThisContext (vm.js:116:10) 21|api | at Module._compile (module.js:533:28) 21|api | at Object.Module._extensions..js (module.js:580:10) 21|api | at Module.load (module.js:503:32) 21|api | at tryModuleLoad […]

如何根据promise做出asynchronous函数

问题是该function不会等待地图完成 我认为解决scheme是Promise.all但是我不知道如何使用这个function exports.createProduct = (data) => { var imgS3arr = []; //array which we waiting for data.img.map((img, i) => { fetch.remote(img).then((base) => { var buf = Buffer.from(base[0], 'base64'); var imgS3 = { Key: data.title + i, //TODO: add random Body: buf, ContentEncoding: 'base64', ContentType: 'image/jpeg' }; s3Bucket.putObject(imgS3, function (err, data) { if (err) { console.log(err); […]

ModuleBuildError:模块构build失败:错误:在Docker中运行时找不到模块“os-homedir”

这里是完整的错误日志: './src/components/app/app.scss\nModule生成失败:ModuleBuildError:模块生成失败:错误:在Function.Module._resolveFilename(module.js:485:无法findmodule \'os-homedir \ 15)\ n在Function.Module._load(module.js:437:25)\ n在Module.require(module.js:513:17)\ n在require(internal / module.js:11:18)在对象n。 (/var/app/node_modules/cosmiconfig/index.js:4:17)\n在Module._compile(module.js:569:30)\ n在Object.Module._extensions.js(module.js:580 :module.js:458:3)在module.load(module.js:503:32)\ n上,在nModuleLoad(module.js:466:12)在/var/app/node_modules/loader-runner/lib/LoaderRunner.js:364:11 \ n上的runLoaders(/var/app/node_modules/webpack/lib/NormalModule.js:194:19)\n /app/node_modules/loader-runner/lib/LoaderRunner.js:170:18\n在loadLoader(/var/app/node_modules/loader-runner/lib/loadLoader.js:27:11)\n在iteratePitchingLoaders(/ var / app / node_modules / loader-runner / lib / LoaderRunner.js:169:2)\ n在iteratePitchingLoaders(/var/app/node_modules/loader-runner/lib/LoaderRunner.js:165:10)\n at / var / app / node_modules / loader-runner / lib / LoaderRunner.js:173:18 at loadLoader(/var/app/node_modules/loader-runner/lib/loadLoader.js:36:3)\n at iteratePitchingLoaders( /var/app/node_modules/loader-runner/lib/LoaderRunner.js:169:2)\n在runLoaders(/ var / app / node_modules / loader-runner / […]

ExpressJS + NodeJS服务器不会提供CSS文件

我试图托pipe我自己的networking服务器,所以我redirect到我的电脑从域的stream量。 交通成功到达我的电脑和网站正在显示,除了ExpressJS不服务唯一的CSS文件,所以我的网站上的内容是因为它没有风格的所有地方。 在控制台中可以看到CSS文件失败的GET: resource: net::ERR_CONNECTION_TIMED_OUT xxx.xx.xx.xxx/styles.176e4d821cc3a21887b2.bundle.css Failed to load 仔细查看错误,我们发现它是唯一失败的文件,即使所有文件与您在下一张图片上看到的都是相同的物理目录: 我正在使用Angular,这是我的dist部署文件夹,你可以看到CSS文件与JS文件位于相同的位置,但只有CSS文件不能被GET'd: 在Express中,我有以下似乎服务于JS和HTML文件,但不是CSS文件: app.use(express.static(path.join(__dirname, '/'))); 此外,一切工作完美的本地主机,它的唯一的stream量redirect从我的.com网站,该网站未能获得的CSS文件。