Javascript 为什么不是';t我的公用文件夹正在获取'/';我的NodeJS应用程序中的URL?

Javascript 为什么不是';t我的公用文件夹正在获取'/';我的NodeJS应用程序中的URL?,javascript,node.js,server,Javascript,Node.js,Server,我正在尝试将静态文件放置在我的公用文件夹中,例如html、css和js文件,但它们无法获取get url(“/”)。 这是我的文件夹结构 app.js node_modules --express package.json public --style.css 我的应用程序是: var express = require('express'); var app = express(); var port = process.env.PORT || 3000; app.use('/asset

我正在尝试将静态文件放置在我的公用文件夹中,例如html、css和js文件,但它们无法获取get url(“/”)。 这是我的文件夹结构

app.js
node_modules
--express
package.json
public
--style.css
我的应用程序是:

var express = require('express');
var app = express();

var port = process.env.PORT || 3000;

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

app.get('/', function(req, res){
    res.send('<html><head><link href=assets/style.css type=text/css rel=stylesheet/></head><body><h1>Hello World</h1></body></html>');
});

app.get('/person/:id', function(req, res){
    res.send('<html><head></head><body><h1>Person: ' + req.params.id + '</h1></body></html>');
});

app.get('/api', function(req, res){
    res.json({ firstname: 'John', lastname: 'Doe' });
});

app.listen(port);
你能将“公共”重命名为“资产”,然后使用

app.use(express.static('assets'));
你能将“公共”重命名为“资产”,然后使用

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

链接到CSS文件的HTML语句中存在语法错误。您忘记将值括在双引号中

请使用以下格式:

<link rel="stylesheet" type="text/css" href="assets/style.css">

如果您使用的是ES6 supporting Node.JS,则可以使用倒勾(```)更好地格式化内联HTML代码,如:

app.get('/', function(req, res){
    res.send(`
        <html>
        <head>
        <link rel="stylesheet" type="text/css" href="assets/style.css">
        </head>
        <body>
        <h1>Hello World</h1>
        </body>
        </html>`
        );
});
app.get('/',函数(req,res){
res.send(`
你好,世界
`
);
});

链接到CSS文件的HTML语句中存在语法错误。您忘记将值括在双引号中

请使用以下格式:

<link rel="stylesheet" type="text/css" href="assets/style.css">

如果您使用的是ES6 supporting Node.JS,则可以使用倒勾(```)更好地格式化内联HTML代码,如:

app.get('/', function(req, res){
    res.send(`
        <html>
        <head>
        <link rel="stylesheet" type="text/css" href="assets/style.css">
        </head>
        <body>
        <h1>Hello World</h1>
        </body>
        </html>`
        );
});
app.get('/',函数(req,res){
res.send(`
你好,世界
`
);
});

您的问题是,因为

<link href=assets/style.css type=text/css rel=stylesheet/>

或者你需要使用引号。

你的问题是,因为

<link href=assets/style.css type=text/css rel=stylesheet/>

或者您需要使用引号。

您的HTML中的
资产/
来自何处?您的问题不清楚,您使用
是什么意思,但它们不会获取到get url(“/”)
。你的意思是,如果你把带有主机前缀的
assets/style.css
放在浏览器的地址栏中,你就看不到css文件的内容了吗?将向您显示什么消息?@t.niese他忘了使用双引号,这样浏览器就不会加载CSS文件。@NidhinDavid引号(您可以使用
)在本示例中是可选的,因为属性值不包含任何需要引号的字符。
[…]不带引号的属性值有以下限制:不能包含任何文本空格字符,不能包含任何“”、“”、“=”、“>”、“@t.niese他没有使用任何字符!!您的HTML中的
assets/
从何而来?您的问题不清楚,
是什么意思,但它们不会获取url(“/”)
。你的意思是,如果你将带有主机前缀的
assets/style.css
放在浏览器的地址栏中,你就看不到css文件的内容了吗?会向你显示什么消息?@t.niese他忘了使用双引号,这样浏览器就不会加载css文件。@NidhinDavid引号(你可以使用
)在本示例中,
)是可选的,因为属性的值不包含任何需要引用的字符<代码>[…]不带引号的属性值具有以下限制:不得包含任何文字空格字符,不得包含任何“,”,“=”,“>”,“@t.niese他没有使用任何字符!!在这种情况下,它们是可选的:
[…]不带引号的属性值具有以下限制:不得包含任何文字空格字符,不得包含任何“,”,“=”,“>”,在这种情况下它们是可选的:
[…]不带引号的属性值具有以下限制:不得包含任何文字空格字符,不能包含解释错误的任何“、”、“=”、“>”、”。很好,这解释了这个错误。干得好