小编Ary*_*rya的帖子

不推荐使用获取正文解析器警告在 Vs 代码中并且无法获取正文尝试使用 express 的内置正文解析器

在此处输入图片说明

下面是app.js文件的代码

var port = process.env.PORT || 8080; // set our port
var express = require('express');
var app = express();
var bodyParser = require('body-parser')
var cors = require('cors');
var indexRouter = require("./server/routes/index");
var http = require('http').Server(app);
const path = require('path')

const Licence = require('./server/CronJob/CronJob');

http.listen(port);

app.use(cors());

app.use(bodyParser.json({ limit: '50mb' }));

app.use(bodyParser.json({
    type: 'application/vnd.api+json'
}));

app.use(bodyParser.urlencoded({
    limit: '50mb',
    extended: true,
    parameterLimit: 50000
}));


// parse application/json
app.use(express.json());
app.use(express.urlencoded()); //Parse URL-encoded bodies


app.use(function (req, res, next) {
    res.header("Access-Control-Allow-Origin", '*');
    res.header("Access-Control-Allow-Credentials", true); …
Run Code Online (Sandbox Code Playgroud)

node.js express body-parser req

9
推荐指数
1
解决办法
2591
查看次数

Sequelize.INTEGER 与 DataTypes.INTEGER

2016 年使用 sequelize ORM 的代码中,我看到使用此模式定义的模型类型:

 module.exports = function(sequelize, DataTypes) {
     const Tasks = sequelize.define("Tasks", {  id: {
       type: DataTypes.INTEGER,
       [ ...etc.]
Run Code Online (Sandbox Code Playgroud)

但是,在当前的续集文档中,您会看到最突出的记录:(Sequelize.INTEGER或其他类型,然后是整数)。同时,在当前的文档中,我DataTypes仍然发现documented/usedhere

在同一页面Sequelize.INTEGER上使用...,仅用于可延期或其他什么?

我试图找出这是否会随着时间的推移而改变,但找不到。

什么时候Sequelize.INTEGER是“当前解决方案”我可以将上面的代码更改为:

module.exports = function(sequelize, Sequelize) {
  const Tasks = sequelize.define("Tasks", {  id: {
    type: Sequelize.INTEGER,
    [ ...etc.]
Run Code Online (Sandbox Code Playgroud)

或者使用Sequelize作为参数会以某种方式使这失败?

javascript orm node.js sequelize.js sequelize-cli

6
推荐指数
1
解决办法
1268
查看次数

express-session:滚动会话过期配置

所以我在 mongo 商店中使用 express-session,如下所示:

app.use(session({
  secret: 'some secret here',
  saveUninitialized: false,
  resave: false,
  store: new MongoStore({
    url: 'http://someurlhere'
  })
}));
Run Code Online (Sandbox Code Playgroud)

我有一些登录中间件,在成功登录后,我想设置会话 cookie 到期时间。

所以我现在正在使用 10 秒的到期时间进行测试

req.session.cookie.expires = new Date(Date.now() + 10000);
Run Code Online (Sandbox Code Playgroud)

我希望为每个后续请求重置会话到期时间。目前,经过 10 秒后,无论我在登录后发出多少请求,会话都会过期。

我觉得我在这里误解了一些东西!

编辑

好的,所以我错过了rolling文档中的配置选项,但即使我在会话配置选项中将其设置为 true,也会发生相同的行为:

app.use(session({
  secret: 'some secret here',
  saveUninitialized: false,
  resave: false,
  store: new MongoStore({
    url: 'http://someurlhere'
  }),
    rolling: true,
    cookie: {
        maxAge: 10000
    }
}));
Run Code Online (Sandbox Code Playgroud)

我现在正在控制台记录我的路由中 cookie maxAge 的值,并看到它随着登录后的每个后续请求而减少,它永远不会重置回 10000。

我究竟做错了什么?

解决了

好的,所以我遇到了关于这个问题的评论

我更改resave为 true,现在按预期工作。

node.js express express-session

5
推荐指数
0
解决办法
1485
查看次数

工作 Ebay Oauth Node Express JavaScript

经过三天令人沮丧的尝试让 E-bayOAuth给我一个访问令牌,我终于解决了。由于文档很痛苦,而且网上几乎没有帮助,我决定在这里发布我的解决方案,希望它能帮助其他人。我不擅长 stackoverflow,所以如果我需要改进格式,请告诉我。

app.get("/login/ebay", (req, res) => {
  res.redirect(
    `https://auth.sandbox.ebay.com/oauth2/authorize?client_id=DeanSchm-TestApp-SBX-b843acc90-fd663cbb&redirect_uri=Dean_Schmid-DeanSchm-TestAp-kqmgc&response_type=code`
  );
});
Run Code Online (Sandbox Code Playgroud)

您需要做的第一件事是重定向到此网址。

格式是这样的

https://auth.sandbox.ebay.com/oauth2/authorize?client_id=<your_client_id>&redirect_uri=<your_redirect_uri>&response_type=code
Run Code Online (Sandbox Code Playgroud)

还有一个 scope 属性,但我还不明白,我得到了一个没有 is so mehhh 的令牌。

url会将您带到e-bay 登录页面。如果您使用的是sandbox,则需要创建一个sandbox用户并使用沙箱凭据登录。

登录后,e-bay 会将您重定向到您选择的 URL。您在此处输入要重定向到的 URL。

Oauth 接受的 URL

它位于通过您的应用程序从 e-bay 获取令牌下的 e-bay 开发人员部分。

这个网址可以是任何东西。你只需要在 node 或 express 中处理它,因为只要有人登录到那个 url 就是他们要去的地方。

这是我如何处理它

   app.get("/auth/ebay/callback", (req, res) => {
  axios("https://api.sandbox.ebay.com/identity/v1/oauth2/token", {
    method: "post",
    headers: {
      "Content-Type": "application/x-www-form-urlencoded",
      Authorization:
        "Basic " +
        btoa(
          `client public key:client secret keys`
        )
    },
    data: qs.stringify({
      grant_type: "authorization_code",
      // …
Run Code Online (Sandbox Code Playgroud)

javascript api oauth express ebay-api

5
推荐指数
0
解决办法
212
查看次数

Sequelize bulkcreate 抛出错误,语法错误位于“)”或“)”附近

在这里,我正在更新user_features数据库,我从这里发现我可以通过批量更新updateOnDuplicate:但是它抛出如下错误

  SequelizeDatabaseError: syntax error at or near ")"
Run Code Online (Sandbox Code Playgroud)

我试过了,updateOnDuplicate: true但它只支持 mysql 不支持 postgresql

var feature_body_list = [];

        for (let index = 0; index < req.body.features.length; index++) {
            let feature_body = {
                user_id: req.body.id,
                feature_id: req.body.features[index]
            }
            feature_body_list.push(feature_body);
        }

        await sequelize.user_features.bulkCreate(feature_body_list, { updateOnDuplicate: ["user_id", "feature_id"] });
Run Code Online (Sandbox Code Playgroud)

但是当我删除 updateonDuplicate 时,它​​可以完美运行并抛出 UniqueConstraintError 重复键,所以我该如何批量更新???

postgresql node.js sequelize.js

5
推荐指数
1
解决办法
201
查看次数

使用 multers3 node.js 将图像上传到 DigitalOcean Spaces 时出现 SignatureDoesNotMatch:null 错误

Error: code:'SignatureDoesNotMatch'
extendedRequestId:undefined
message:null
name:'SignatureDoesNotMatch'
region:null
Run Code Online (Sandbox Code Playgroud)
// Load dependencies
const aws = require('aws-sdk');
const express = require('express');
const multer = require('multer');
const multerS3 = require('multer-s3');

const app = express();

// Set S3 endpoint to DigitalOcean Spaces
const spacesEndpoint = new aws.Endpoint('fra1.digitaloceanspaces.com');
const s3 = new aws.S3({
    endpoint: spacesEndpoint,
    accessKeyId: '*************',
    secretAccessKey: '**********************************'
});

// Change bucket property to your Space name
const upload = multer({
    storage: multerS3({
        s3: s3,
        bucket: 'bucket',
        acl: 'public-read',
        key: function (request, file, cb) {
            console.log(file); …
Run Code Online (Sandbox Code Playgroud)

spaces node.js digital-ocean multer multer-s3

4
推荐指数
1
解决办法
2341
查看次数

如何将 javascript HH:MM 中的小时(分钟)转换为 MM?

我想将 HH:MM 转换为 MM 我想在下面的代码中使用分钟,但它无法将 14:30 转换为 858,因为您可以在小提琴分钟中看到结果,但如果您将 14.3 放入小提琴代码中,它会将 14.3 转换为分钟而不是 14.30。

我正在转换小时。分钟比我得到的分钟少 240 分钟 我如何转换这个小时。一分钟内。下面是我试图将小时转换为分钟的代码

注意:小时可以是 0 到 23 之间的任何时间,可以是 2:30,也可以是 10:30

function convertHourstoMinute(hours) {
     return Math.floor(hours * 60);
    }
    let hrs = convertHourstoMinute(14:30); // convert hours into minutes javascript
   console.log( "javascript convert hours to minutes :- " + hrs ); 

            let minutes = hrs * 60;
            console.log(minutes)
            let callback_time = minutes - 240
            console.log(callback_time)
            let call_back = callback_time / 60
            console.log(call_back)
Run Code Online (Sandbox Code Playgroud)

javascript hour minute

3
推荐指数
1
解决办法
1万
查看次数

如何更新 package.json 文件中的依赖项和开发依赖项?

在我的package.json文件中,我想在我的项目中更新dependencies& 。devdependencies

我不知道如何更新

node.js npm npm-install

2
推荐指数
1
解决办法
1万
查看次数

未找到命令“nodejs”,但可以使用以下命令安装:sudo apt install nodejs in ububtu

已安装 node.js 但显示

nodejs找不到命令,但可以使用以下命令安装:

  sudo apt install nodejs
Run Code Online (Sandbox Code Playgroud)

然后尝试, sudo apt install nodejs

并显示

Reading package lists... Done
Building dependency tree       
Reading state information... Done
nodejs is already the newest version (14.13.1-deb-1nodesource1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Run Code Online (Sandbox Code Playgroud)

但是当我尝试检查 node.js 版本时,$ nodejs -v 它显示nodejs未找到命令,但可以安装:

sudo apt install nodejs
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个错误并正确查看 node.js 版本

ubuntu node.js

0
推荐指数
1
解决办法
707
查看次数

我如何取 [[char]] 的第一个元素

我是新手,Haskell我正在尝试拥有elem我的第一个[[char]]

我试过这个:(在我的主要)

    tmpList = recomposeNumber (words argss) []
                det = test tmpList

Run Code Online (Sandbox Code Playgroud)

tmpList 是一个 [[Char]]

我的tmpList是:

["12","+","1"]
Run Code Online (Sandbox Code Playgroud)

我尝试了类似的事情,但我不知道该怎么做

test:: [[Char]] -> [[Char]]
test [x:xs]  = x
Run Code Online (Sandbox Code Playgroud)

我不知道它是否可能,但我想返回一个 integer

我想用测试函数返回“12”,但我迷路了

haskell

-1
推荐指数
1
解决办法
76
查看次数