繁体   English   中英

nodejs不能在EJS中包含js文件

[英]nodejs can not include js file in EJS

我想将 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

服务器.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>

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

尝试将您的脚本插入正文标记中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM