Articles of node.js

从systemd节点应用程序生成的Shell脚本不会编辑etc文件

我有一个systemd服务,在启动时启动一个Node应用程序。 Node应用程序使用child_process.spawnSync启动一个使用sed编辑/etc/wpa_supplicant/wpa_cli-actions.sh的shell脚本。 如果我从命令行手动启动Node应用程序,但是在由systemd启动应用程序时没有正确编辑wpa_cli-actions.sh文件,则该文件会被正确编辑。 我的系统服务文件是基于另一个启动类似的服务,所以我不知道我在做什么错了。 我在journalctl输出中没有看到与此有关的任何错误。 以下是我的服务文件。 [Unit] Description=The Edison status and configuration service After=mdns.service [Service] ExecStart=/bin/su root -c 'node /usr/lib/config-server/app.js' Restart=always RestartSec=10s StandardOutput=journal StandardError=journal SyslogIdentifier=edison-config PrivateTmp=no Environment=NODE_ENV=production User=root Group=root [Install] WantedBy=default.target

来自json数组的使用nodejs的单个值

所以我有这个数据从stringify(doc)输出 { "id": "8467fdae-c38c-4b6e-9492-807d7c9eb97e", "message": "send to nodejs" } 但我不知道如何继续从它获得单个值,例如消息。 任何帮助将不胜感激,因为我尝试了不同的方法,他们似乎没有工作

为什么需要使用快递静态

对不起,愚蠢的问题,但我真的想知道为什么我们需要使用它。 我知道stactic文件是在加载时没有生成的文件,但必须在请求时发送到浏览器。 如果有人能为我解释这些问题,我将不胜感激。

Highcharts-more.js在vue-cli项目中不起作用

这几个星期我在一个vue-cli项目上工作,我正在尝试做一个这样的极坐标图: https : //www.highcharts.com/demo/polar-spider 由于这个图表需要highchart-more文件,因此我使用npm安装并导入了highcharts和highchart-more库。 但是,导入这两个文件后,我在我的铬控制台中得到以下错误,并不能加载高图。 错误 highcharts-more.js?7b43:8 Uncaught TypeError: p is not a function at eval (eval at <anonymous> (app.js:874), <anonymous>:8:212) at eval (eval at <anonymous> (app.js:874), <anonymous>:11:205) at eval (eval at <anonymous> (app.js:807), <anonymous>:39:67) at Object.<anonymous> (app.js:807) at __webpack_require__ (app.js:658) at fn (app.js:86) at Object.<anonymous> (app.js:1182) at __webpack_require__ (app.js:658) at app.js:707 at app.js:710 […]

MongoError:无法连接到服务器

当我键入node server.js它返回我这个错误 MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017] at Pool.<anonymous> (/home/islam/workspace/project/node_modules/mongoose/node_modules/mongodb-core/lib/topologies/server.js:327:35) at emitOne (events.js:96:13) at Pool.emit (events.js:191:7) at Connection.<anonymous> (/home/islam/workspace/project/node_modules/mongoose/node_modules/mongodb-core/lib/connection/pool.js:274:12) at Object.onceWrapper (events.js:293:19) at emitTwo (events.js:106:13) at Connection.emit (events.js:194:7) at Socket.<anonymous> (/home/islam/workspace/project/node_modules/mongoose/node_modules/mongodb-core/lib/connection/connection.js:177:49) at Object.onceWrapper (events.js:293:19) at emitOne (events.js:96:13) at Socket.emit (events.js:191:7) at emitErrorNT (net.js:1283:8) at _combinedTickCallback (internal/process/next_tick.js:80:11) […]

Passport身份validation系统不工作

我有一个身份validation系统安装在我的快递节点应用程序,但我已经遇到了一些与我设置的护照authentication错误。 例如,注册系统工作正常,我的validation系统(基本上检查用户/通过组合对我学校的成绩簿login是否有效)也能正常工作。 但是,实际的护照login(它检查用户/传递组合是否是我的mongoose数据库中的注册用户)不能正常工作。 closuresapp.js的一部分 //passport setup app.use(passport.initialize()); app.use(passport.session()); passport.use(new LocalStrategy(function (username, password, done) { User.findOne({username: username}, function (err, user) { user.checkLogin(password, function (error, userIsValid) { if (error) { console.log('Error:'); return done(error); } if (userIsValid) { console.log('Valid:'); } }); }); })); user.js的 var mongoose = require('mongoose'); var passportLocalMongoose = require('passport-local-mongoose'); var Schema = mongoose.Schema; var bcrypt […]

带有Post方法和enctype Multipart / form-data的表单没有在Nodejs Express multer模块上提交

我在用 : "ejs": "^2.5.6", "express": "^4.14.0", "express-validator": "^3.2.0", "multer": "^1.3.0", 我的表单是: <form id="offer-form" role="form" enctype="multipart/form-data" action="/subfolder/86" method="POST"> <input type="text" name="name"/> <input type="file" name="images"/> <input type="file" name="images"/> <button type="submit">Submit</submit> </form> 我的服务器路由: var path = require('path'); var express = require('express'); var bodyParser = require('body-parser'); var expressValidator = require('express-validator'); var osmodule = require('../../osmodule'); var Multer = require('multer'); var […]

Telegraf守护程序没有从Dokku部署的应用程序接收指标

过去我已经使用Telegraf + InfluxDB + Grafana监控过NodeJS应用程序,但这是我第一次尝试监控Dokku应用程序,目前为止还没有成功。 我有以下设置 app server monitoring serveur – telegraf daemon (listening on udp 8125) ——> InfluxDB + Grafana – dokku – myapp : sending metrics on localhost:udp:8125 我有这个问题,从udp://localhost:8125 myapp发送的度量标准不被telegraf接收。 从telegraf到influxdb和grafana的连接是好的,因为我在应用程序服务器上运行了以下命令: echo "foobar:1|c" | nc -u -w0 127.0.0.1 8125 我可以在Grafana里面看到foobar counter增量。 所以我猜这个问题是由于myapp或我如何configurationDokku。 在myapp(一个节点的JS应用程序),我使用热镜头包发送指标(也尝试与l without没有成功)。 这是我用于instanciate statsd客户端的代码。 var StatsD = require('hot-shots'); var client = […]

我的AJAX代码(将Firebase令牌发送到服务器)有什么问题?

我是初学者。 我试图通过AJAX从login用户的状态发送的令牌发送。 但是,当我运行下面的代码,我得到内部服务器错误,所以一些东西closures。 我错过了什么? app.post('/auth', function(req,res,next){ var idToken = admin.auth().verifyIdToken(idToken) .then(function(decodedToken) { var uid = decodedToken.uid console.log(uid) res.send(uid) }).catch(function(error) { console.log(error.message) }) }) $("#sign-in").on('click', function(event) { event.preventDefault() var email = $("#email").val() var password = $("#password").val() firebaseAUTH.signInWithEmailAndPassword(email, password).then(function (user) { console.log('user has signed in with e-mail address: '+user.email+' and user ID: '+user.uid) //window.location = '/members-area' firebaseAUTH.currentUser.getToken(true).then(function(idToken) […]

使用callback完成树行走后执行一个函数

我有一个简单的树,id是Mongo集合的关键。 我正在使用一个名为treewalker的节点库。 当我走树的每个节点时,我试图查找名称(使用mongoose),并简单地将其附加到当前节点。 如果我不做callback查找节点名称,只是使用一些固定值,我得到我期待的价值。 让我用代码来说明: 这是我的树: { "categoryTree": [ { "categoryId": "1", "children": [ { "categoryId": "2", "children": [ { "categoryId": "3", "children": [] }, { "categoryId": "4", "children": [] } ] }, { "categoryId": "5", "children": [] }, { "categoryId": "6", "children": [] } ] }, { "categoryId": "7", "children": [ { "categoryId": "8", […]