【问题标题】:nodejs can not include js file in EJSnodejs不能在EJS中包含js文件
【发布时间】:2020-12-29 20:24:55
【问题描述】:

我想将 JS 文件加载到我的 EJS 文件中,但找不到 JS 文件。

我使用“app.use('/', express.static(path.join(__dirname, '/frontend')));”但它不起作用。

或者有没有更好的方法,而不是将 js 文件包含到 ejs 文件中。

........

文件夹结构:

│
├──server.js
├──package-lock.json
├──package.json
│
├── js/
    ├── data.js
├── node_modules/
└── views/
    ├── index.ejs
    └── 404.ejs

server.js

'use strict';

const http = require('http');

const express = require('express');

const path = require('path');

const app = express();

app.use('/', express.static(path.join(__dirname, '/frontend')));

app.set('view engine', 'ejs');

app.get('/', (req, res) => {
    const blogs = [
        { titel: 'Neuer Titel', desc: 'Data'},
        { titel: 'Titel 2', desc: 'New Desc'}
    ];
    res.render('index', {
        title: 'Home',
        blogs
    });
});

app.use('/*', (req, res) => {
    res.status(404).render('404');
});

app.listen(process.env.PORT || 3000, () => {
    console.log('Server listen');
});

索引.ejs

<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Data | <%= title %></title>
    </head>
    <body>

        <nav>
            <ul>
                <li>
                    <a href="/">Data</a>
                </li>
                <li>
                    <a href="/about">Data2</a>
                </li>
                <li>
                    <a href="/about/create">Data3</a>
                </li>
            </ul>
        </nav>
    </body>
    <script src="/frontend/data.js"></script>
</html>

【问题讨论】:

  • 如果您在浏览器中转到/frontend/data.js 会发生什么?我猜/data.js 会起作用。

标签: javascript node.js ejs


【解决方案1】:

我认为不可能在 EJS 中加载 JS 文件,但您可以尝试通过 父级(文件夹)

【讨论】:

    【解决方案2】:

    尝试像这样将你的脚本插入到body标签中

    <body>
    <script>
    
    </script>
     </body>
    

    标签。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多