Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.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 如果不使用模板引擎,如何在Express.js视图中包含CSS文件?_Javascript_Html_Node.js_Express_Html Rendering - Fatal编程技术网

Javascript 如果不使用模板引擎,如何在Express.js视图中包含CSS文件?

Javascript 如果不使用模板引擎,如何在Express.js视图中包含CSS文件?,javascript,html,node.js,express,html-rendering,Javascript,Html,Node.js,Express,Html Rendering,我正在尝试创建一个Express应用程序。我的限制是我不能使用任何模板引擎来呈现HTML。存在(至少)两个问题: 我预见到的问题之一是,我将如何根据需要向用户显示的内容来处理数据。例如,我的数据库中有一个事务表,我需要显示所有这些事务的HTML表。我使用的传统方法是利用模板引擎,在那里我可以放置一个for循环,遍历记录 当我调用一个特定的路由时,我正在发送一个HTML文件,但它无法从另一个文件夹获取CSS文件 对于问题2。我试过: app.get('/transactions', (req, r

我正在尝试创建一个Express应用程序。我的限制是我不能使用任何模板引擎来呈现HTML。存在(至少)两个问题:

  • 我预见到的问题之一是,我将如何根据需要向用户显示的内容来处理数据。例如,我的数据库中有一个事务表,我需要显示所有这些事务的HTML表。我使用的传统方法是利用模板引擎,在那里我可以放置一个for循环,遍历记录
  • 当我调用一个特定的路由时,我正在发送一个HTML文件,但它无法从另一个文件夹获取CSS文件
  • 对于问题2。我试过: app.get('/transactions', (req, res) => res.sendFile(path.join(__dirname+'/public/assets/html/transactions.html'))) app.get('/transactions',(req,res)=> res.sendFile(path.join(uuu dirname+'/public/assets/html/transactions.html'))

    然后在transactions.html中,我有和样式表的其他链接

    <link rel="stylesheet" href="../stylesheets/shared/constants.css"> 显示页面时,它不会应用任何样式。当我在浏览器中检查源代码并单击constants.css的链接时,它会显示一条消息:Cannot GET/stylesheets/shared/constants.css

    Cannot GET /stylesheets/shared/constants.css 这似乎不是正确的逻辑。什么东西应该改变?

    简单的例子:

    假设您的文件夹结构:

    app.js
    |   +-- public
    |   |   +-- stylesheets
    |   |   |   +-- shared
    |   |   |   |   +-- constants.css
    ...
    
    您可以简单地将公用文件夹作为静态服务器,如:

    app.use(express.static(__dirname + "/public"))
    
    // In your html
    <link rel="stylesheet" href="/stylesheets/shared/constants.css">
    
    简单的例子:

    假设您的文件夹结构:

    app.js
    |   +-- public
    |   |   +-- stylesheets
    |   |   |   +-- shared
    |   |   |   |   +-- constants.css
    ...
    
    您可以简单地将公用文件夹作为静态服务器,如:

    app.use(express.static(__dirname + "/public"))
    
    // In your html
    <link rel="stylesheet" href="/stylesheets/shared/constants.css">
    

    一个简单的例子对我很有用:

    app.use(express.static(__dirname + "/publlic"))
    app.get('/', (req, res) => {
    app.engine('html', cons.swig);
    app.set('view engine', 'html');
    res.render('index');
    })
    
    // In your html
    <link rel="stylesheet" href="/static/stylesheets/shared/constants.css">
    
    app.use(express.static(uuu dirname+“/public”))
    应用程序获取(“/”,(请求,请求)=>{
    app.engine('html',cons.swig);
    app.set('view engine','html');
    res.render(“索引”);
    })
    //在html中
    

    使用这种方法,我可以像您一样使用引擎。

    简单的例子对我很有用:

    app.use(express.static(__dirname + "/publlic"))
    app.get('/', (req, res) => {
    app.engine('html', cons.swig);
    app.set('view engine', 'html');
    res.render('index');
    })
    
    // In your html
    <link rel="stylesheet" href="/static/stylesheets/shared/constants.css">
    
    app.use(express.static(uuu dirname+“/public”))
    应用程序获取(“/”,(请求,请求)=>{
    app.engine('html',cons.swig);
    app.set('view engine','html');
    res.render(“索引”);
    })
    //在html中
    

    通过这种方法,我可以像您一样使用engine。

    您需要设置静态路由:您需要设置静态路由: