Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何正确使用静电?_Javascript_Node.js_Express - Fatal编程技术网

Javascript 如何正确使用静电?

Javascript 如何正确使用静电?,javascript,node.js,express,Javascript,Node.js,Express,这个问题与我密切相关 我正在构建一个nodeJS应用程序。您可以在下面的屏幕截图中看到文件体系结构。 当我尝试运行index.JS文件时: const express = require('express') const server = new express() const srcDir = require('app-root-path'); const port = 3000 server.get('/', (req, res) => { res.sendFile(

这个问题与我密切相关

我正在构建一个nodeJS应用程序。您可以在下面的屏幕截图中看到文件体系结构。

当我尝试运行index.JS文件时:

const express = require('express')
const server     = new express()
const srcDir  = require('app-root-path');
const port = 3000

server.get('/', (req, res) => {
  res.sendFile(`${srcDir}/app/views/index.html`)
})


server.listen(port, () => {
  console.log(`App listening at http://localhost:${port}`)
})
问题:我得到一个空白页面,控制台说我的“应用程序”文件夹中的所有补充文件(除了HTML文件本身!)(组件(js文件)、资产(css)、e.t.c.)都无法访问:
加载资源失败:服务器响应状态为404(未找到)
。我知道问题的根源可能是建立服务静态(我不理解),尽管没有它,它总是工作得很好

有人能帮忙吗?提前谢谢

附言。 控制台日志:

尝试使用

您还可以选择指定的路径预修复来显示这些文件

server.use('/static', express.static(staticDir))
您需要添加带有
express.static(“目录”)
的“组件”,如下所述:

在您的情况下,将此添加到您的应用程序中

server.use(express.static(“应用程序/组件”);
例如,要访问文件
FeaturePage/MainDisplay.js
,您必须在html中使用它


您必须告诉Express静态文件的根目录在哪里。通常在野外-此目录称为
public
,将包含您希望发送到浏览器的所有css、js文件。不要包含
视图
或任何其他后端文件

因此,在您的情况下:创建一个名为
public
的新目录,并将
assets
components
放在其中

然后在Express服务器中:

app.use(express.static(`${srcDir}/app/public`));
  • 文件:

这是否回答了您的问题?好东西!谢谢你的帮助,@madflow!一切都很顺利!
app.use(express.static(`${srcDir}/app/public`));