gpt4 book ai didi

node.js - Visual Studio Code - Node.js - 找不到名称 '__dirname'

转载 作者:搜寻专家 更新时间:2023-10-31 23:11:55 29 4
gpt4 key购买 nike

首先说明一下,我不是专业的编码员,但在我的老板发现我 10 年前在高中修过“网页设计”类(class)后,我还是被迫为他建立了一个网站。当时静态网站还不错,见鬼的 CSS 才刚刚开始显示它的潜力,但我离题了。

我现在正在 Visual Studio Code 上开发一个 Node.js 项目,遇到一个奇怪的异常。代码运行良好,但我想这只是出于好奇。不管怎样,这是我的代码。

应用程序.js

var express = require('express'),
app = express(),
bodyParser = require('body-parser'),
multer = require('multer'),
controller = require('./controllers');

//Sets the view engine to jade.
app.set('views', __dirname + '/frontend');
app.set('view engine', 'jade');

//sets up the development enviroment
if (app.get('env') === 'development') {
app.locals.pretty = true;
app.use(express.static(__dirname + '/build/public'))
var build = require(__dirname + '/build.js');
app.use('css/*', function(req, res, next){
build.style();
next();
});
}

//Sets up the public directory to serve static files - This will be depricated quite soon...
//app.use(express.static(__dirname + '/public'));

//Initalizes site-wide local variables
//app.set('title', 'Halvorson Homes');

//Sets up body-parser to be able to read RESTful requests
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use(multer({dest: 'tmp'}).fields());

//Load Controllers
app.use( '/' , controller);


//makes the app listen on port 3000
app.listen(3000, function() {
console.log('Listening on port 3000...');
})

我的文件夹结构大致如下

  • Controller
    • index.js
    • 设计.js
  • 模特
    • 设计.js
  • 前端
    • 常见的
      • layout.jade
      • header.jade
      • footer.jade
      • 客户端.js
      • 无风格
    • 索引
      • index.jade
      • 客户端.js
      • 无风格
    • 设计
      • index.jade
      • 客户端.js
      • 无风格
  • build
    • tmp
    • 服务
  • 应用程序.js
  • build.js
  • package.json

根据 VS Code 的内置调试器,第 8、14 和 15 行存在异常。它们是我在整个项目中唯一使用 __dirname 的地方。这对我来说很烦人,因为我是一个完美主义者。是 Node、VS Code 还是其他?

最佳答案

您收到的警告来自 eslint extension .虽然它在 Node.JS 中可能有效,但它会警告您有关 __dirname 的信息,因为它并非在所有 JavaScript 环境(例如浏览器)中都有效。

要抑制警告,您需要直接在项目的根目录中创建一个 .eslintrc 文件,并表明代码将在 Node 中运行,如下所示:

{
"env": {
"node": true
}
}

您可以在此处查看用于为实际 vscode 代码库配置 eslint 的 .eslint 文件 https://github.com/microsoft/vscode/blob/main/.eslintrc.json

关于node.js - Visual Studio Code - Node.js - 找不到名称 '__dirname',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36071556/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com