gpt4 book ai didi

node.js - 静态文件未加载到我的项目中

转载 作者:太空宇宙 更新时间:2023-11-04 00:02:02 25 4
gpt4 key购买 nike

我正在努力解决静态文件未在我的小型待办应用项目中加载的问题。

app.use('/assets',express.static('public'));我猜。这个表达式不起作用。

app.js 文件。

var express = require('express');
var todoController = require('./controllers/todoControllers');
var app = express();

//set up template engine
app.set('view engine','ejs');

// static files
app.use('/assets', express.static('public'));

//fire to controllers

todoController(app);

//listen to port
app.listen(3000);
console.log('you are listening to port: 3000');

todo.ejs 文件

<html>
<head>
<title>Todo List</title>
<link rel="stylesheet" href="/assets/styles.css">
<script
src="https://code.jquery.com/jquery-1.12.4.min.js"
integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="
crossorigin="anonymous"></script>
<link rel="stylesheet" href="/assets/styles.css" type="text/css" />
</head>
<body>
<h1>My todo list</h1>
<div id="todo-table">
<form>
<input type="text" name="item" placeholder="Add new item..." required />
<button type ="submit">Add item</button>
</form>
<ul>
<% for(var i=0;i<todos.length;i++){ %>
<li><%= todos[i].item %></li>
<% } %>
</ul>
</div>
<script src="..public/assets/todo-list.js"></script>
</body>
</html>

当我转到 localhost:3000 并检查页面时,出现错误,没有加载 css 文件,也没有加载 js 文件。

最佳答案

您需要加入路径,

app.use('/assets', express.static(path.join(__dirname, 'public')))

更多信息请引用:https://expressjs.com/en/starter/static-files.html另请检查您是否尝试创建虚拟路径。

关于node.js - 静态文件未加载到我的项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54212308/

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