【问题标题】:using node.js and found this error > 'server' is declared but its value is never read.ts(6133) > from "var server = app.listen(3000, listening);"使用 node.js 并发现此错误 > 'server' 已声明,但其值从不读取。ts(6133) > from "var server = app.listen(3000, listener);"
【发布时间】:2022-06-29 20:56:26
【问题描述】:

一直在 api2 文件夹中执行 8.6,但出现此错误/错误然后我查看我的 server.js 并找到错误/错误然后我回到 api1 文件夹,这是 8.5 课程,我已经完成了 8.5 课程并且它通过保存到 json 文件并读取 json 文件来正确执行,但是由于某种原因,当我回到我的 api1 时会发生这种情况??

编码火车

8.5:使用 Node.js 将数据保存到 JSON 文件 - 使用文本编程

https://www.youtube.com/watch?v=4zr8j-jeU_M&list=PLRqwX-V7Uu6Yyn-fBtGHfN0_xCtBwUkBp&index=6

编码火车

8.6:API 前端客户端 - 使用文本编程

https://www.youtube.com/watch?v=4zr8j-jeU_M&list=PLRqwX-V7Uu6Yyn-fBtGHfN0_xCtBwUkBp&index=6

PS:我一直在用Safari和vscode

我认为错误/错误是从我使用 word 或 words 编写 fs.writefile 开始的,我不知道为什么会出现 >视频中的不同错误,但是当我通过添加 JSON.stringify 编写所有代码时,我做对了吗?所以我只是忽略了这个错误,因为我做对了并且代码运行得很好,所以我继续学习第 8.6 课,然后当我尝试从 8.6 编写代码时出现错误

或者我没有正确编码?我去了其他代码,发现了同样的错误,但没有出现

// This call back just tells us that the server has started
function listen() {
  var host = server.address().address;
  var port = server.address().port;
  console.log('Example app listening at http://' + host + ':' + port);
}

但在

// Callback
function showAll(req, res) {
  // Send the entire dataset
  // express automatically renders objects as JSON
  res.send(words);
}

当我将鼠标指向 req 时,它得到了相同的错误/错误 'req' 已声明,但它的值永远不会被读取。ts(6133)

这是我获得源代码的网站

https://shiffman.net/a2z/server-node/

这是另一个代码

https://github.com/Programming-from-A-to-Z/A2Z-F16/blob/gh-pages/week4-node/06_save_JSON/server.js

//

这是我在项目“api1”文件夹中的错误/错误

var server = app.listen(3000, listening);

var server: 服务器

'server' 已声明,但其值从不读取。ts(6133)

//

这是我的文件和文件夹

api1 //文件夹

node_modules //express文件夹

package-lock.json //文件

package.json //文件

{
  "scripts": {
    "start": "node server.js"
  },
  "name": "project-pj",
  "version": "0.0.1",
  "dependencies": {
    "express": "^4.18.1"
  }
}

server.js //文件

var fs = require('fs');
var data = fs.readFileSync('words.json');
var words = JSON.parse(data);
console.log(words);

//console.log('server is starting');

var express = require('express');

var app = express();

var server = app.listen(3000, listening);

function listening () {
    console.log("listening...");
}

app.use(express.static('website'));

app.get('/add/:word/:score?', addWord);

function addWord(request, response) {
    var data = request.params;
    var word = data.word;
    var score = Number(data.score);
    var reply;
    if (!score) {
       var reply = {
            msg: "Score is required."
        }
        response.send(reply);
    } else{
        words[word] = score;
        var data = JSON.stringify(words, null, 2);
        fs.writeFile('words.json', data, finished);

        function finished(err) {
            console.log('all set.');
            reply = {
                word: word,
                score: score,
                status: "success"
            }

            response.send(reply);
        }
        
    }

}

app.get('/all', sendAll);

function sendAll(request, response) {
    response.send(words);
}

app.get('/search/:word/', searchWord);

function searchWord(request, response) {
    var word = request.params.word;
    var reply;
    if (words[word]) {
        reply = {
            status: "found",
            word: word,
            score: words[word]
        }
    } else {
        reply = {
            status: "not found",
            word: word
      }
    }
response.send(reply);
}

网站//文件夹

index.html //文件

words.json //文件

{
  "rainbow": 5,
  "unicorn": 3,
  "doom": -3,
  "gloom": -2,
  "purple": 3,
  "pink": 6,
  "flower": 7
}

【问题讨论】:

  • "'server' 已声明,但它的值从未被读取" - 这是真的,不是吗?请注意,您的大多数 sn-ps 实际上无法在浏览器环境中运行 - edit 您的问题是修复格式。
  • 你在使用 ESLint 吗?如果是这样,它可能只是一个语法错误,ESLint 告诉你如果你不阅读它,定义server 是没有意义的。
  • 那你能写代码吗?因为我是使用node.js的新手,我什至不知道我错过了什么我所知道的是第1步使用终端打开vscode,第2步编写代码,第3步使用终端启动服务器3000......在8.5的视频中
  • @Mastermind 我只是使用 ESlint,并没有解决我的错误stackoverflow.com/questions/72401985/…
  • 如果你只是想解决问题:app.listen(3000, listener) 这是一个 linter 问题,它可能不会影响代码的结果。 linter 仅管理您的代码样式,并且可能不会对代码的结果产生太大影响(通常)

标签: javascript node.js api express server


【解决方案1】:

终于在来回1个月后,我终于明白了快递以及如何通过删除Bug来保存数据,由于某种原因,我得到了这行我什至没有的代码记得我为什么一开始就加它……可能咖啡太多了哈哈

sketch.js "文件"

const { text } = require("express");//bug right here

function setup() {
createCanvas(400, 400);
background(51);
loadJSON('all', gotData);
console.log('running');
}

function gotData(data) {
  console.log(data);
  var keys = Object.keys(data);
  for (var i = 0; i < keys.length; i++) {
    var word = keys[i];
    var score = data[word];
    var x = random(width);
    var y = random(height);
    fill(255);
    textSize(64);
    text(word, x, y);
  }
}

感谢这些信息,我对 express 有了更多的了解,以及将我的所有 游戏代码 放在 Public 文件夹的位置,我想我应该从 “2.1 Server-side with Node.js”先了解一下“express and server side”但是哦,好吧,我只是想保存数据,我明白了,刚刚完成8.6,现在我在8.7 LOL Api 比我想象的要难,起初我虽然它是一些与其他网站一起工作的代码,但现在我知道它是为了保存数据等等......:

//ExpressStartInfo
/*
const express = require('express');//Start1
const app = express();//Start2
app.listen(3000, () => console.log('listening at 3000'));//Start3
//node index.js
//search for package.json "main">index.js

//public folder
//index.html file

//nodemon index.js

app.use(express.static('public'));//Start4
//Run the folder that have html Website/p5.js project in it
//app.use(express.static('public/P5.js'));
*/

//Server Side
//BackEnd
//index.js


//Source:
//2.1 Server-side with Node.js - Working with Data and APIs in JavaScript
//https://www.youtube.com/watch?v=wxbQP1LMZsw


////////////////////////////////////////////////////////////

//"sketch.js" bug
//const { text } = require("express"); //due to error of text not show up errase this//AKA "Bug"


//nodemon node server.js

//npm start
//http://localhost:3000


//End at 5:52/13:49min  
//8.6: API Front End Client - Programming with Text
//https://www.youtube.com/watch?v=4zr8j-jeU_M&list=PLRqwX-V7Uu6Yyn-fBtGHfN0_xCtBwUkBp&index=6




////////////////////////////////////////////////////////////


//package.json


/*
{
  "scripts": {
    "start": "node server.js"
  },
  "name": "project-pj",
  "version": "0.0.1",
  "dependencies": {
    "express": "^4.18.1"
  }
}
*/


//Second "package.json" file"
//npm init
/*
{
  "scripts": {
    "start": "node server.js"
  },
  "name": "project-pj",
  "version": "0.0.1",
  "dependencies": {
    "express": "^4.18.1"
  },
  "main": "server.js",
  "devDependencies": {},
  "author": "",
  "license": "ISC",
  "description": ""
}
*/

【讨论】:

    猜你喜欢
    • 2021-11-08
    • 2019-08-24
    • 2022-10-13
    • 1970-01-01
    • 2019-06-23
    • 2019-01-06
    • 1970-01-01
    • 2022-08-10
    • 2018-09-28
    相关资源
    最近更新 更多