简体   繁体   English

我的 javascript 文件没有链接? 我正在使用: app.use(express.static(__dirname + '/public'));

[英]my javascript file not linking? Iam using: app.use(express.static(__dirname + '/public'));

my file structure:我的文件结构:

  • project项目
    • public民众
      • javascripts javascripts
        • char1.js字符1.js
    • views意见
      • home.ejs主页.ejs
    • app.js应用程序.js

I store my ejs in a subfolder, i want to access chart1.js file which is in another subfolder,我将 ejs 存储在一个子文件夹中,我想访问另一个子文件夹中的 chart1.js 文件,

i using app.use(express.static(__dirname + '/public'));我使用app.use(express.static(__dirname + '/public')); middleware.中间件。 i have been stuck in this error for hours: thanks for helping!!!!我已经被这个错误困了几个小时了:感谢您的帮助!!!!

homes.ejs file home.ejs 文件

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://fonts.googleapis.com/css2?family=Inconsolata:wght@300&display=swap" rel="stylesheet">
    <title>Home</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/css/bootstrap.min.css"
        integrity="sha384-r4NyP46KrjDleawBgD5tp8Y7UzmLA05oM1iAEQ17CSuDqnUK2+k9luXQOfXJCJ4I" crossorigin="anonymous">
    <script src="https://cdn.jsdelivr.net/npm/bs-custom-file-input/dist/bs-custom-file-input.js"></script>
    <link rel="stylesheet" href="/stylesheets/app.css">
</head>
<body class=" ">
    <div id="chart1"></div>
         <button id="refresh2">Refresh this chart</button>
         <script src="/javascripts/chart1.js"></script>
    </div>
</body>

</html>

chart1.js file: chart1.js 文件:

import ChartsEmbedSDK from '@mongodb-js/charts-embed-dom';
const sdk = new ChartsEmbedSDK({
    baseUrl: 'https://charts.mongodb.com/charts-project-0-qumgu'
});

const chart = sdk.createChart({
    chartId: '1e32b53f-6de2-45d2-863d-025b85c8bec9',
    weidth: 100,
    height: 100,
});
chart.render(document.getElementById('chart1'))

app.js file: app.js 文件:

if (process.env.NODE_ENV !== "production") {
require('dotenv').config();
}

const express = require('express');
const path = require('path');
const mongoose = require('mongoose');
const Data = require('./models/data');

const dbUrl = process.env.DB_URL || 'mongodb://localhost:27017/predict-football';
mongoose.connect(dbUrl, {
    useNewUrlParser: true,
    useUnifiedTopology: true,


});

const db = mongoose.connection;
db.on("error", console.error.bind(console, "connection error:"));
db.once("open", () => {
    console.log("database connected")
})

const app = express();

app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'views'));

app.use(express.urlencoded({ extended: true }))
app.use(express.static(__dirname + '/public'));


app.get('/home', async (req, res) => {
    const datas = await Data.find({}).sort({ _id: -1 });
    console.log(datas.length)
    res.render('home', { datas })

})
app.post('/home', async (req, res) => {
    const data = new Data(req.body.data);
    console.log(data)
    await data.save();
    res.redirect('/home')
})

    if (process.env.NODE_ENV !== "production") {
    require('dotenv').config();
}

const express = require('express');
const path = require('path');
const mongoose = require('mongoose');
const Data = require('./models/data');

const dbUrl = process.env.DB_URL || 'mongodb://localhost:27017/predict-football';
mongoose.connect(dbUrl, {
    useNewUrlParser: true,
    useUnifiedTopology: true,


});

const db = mongoose.connection;
db.on("error", console.error.bind(console, "connection error:"));
db.once("open", () => {
    console.log("database connected")
})

const app = express();

app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'views'));

app.use(express.urlencoded({ extended: true }))
app.use(express.static(__dirname + '/public'));


app.get('/home', async (req, res) => {
    const datas = await Data.find({}).sort({ _id: -1 });
    console.log(datas.length)
    res.render('home', { datas })

})
app.post('/home', async (req, res) => {
    const data = new Data(req.body.data);
    console.log(data)
    await data.save();
    res.redirect('/home')
})

app.all('*', (req, res, nwxt) => {
    res.send("404!!!")
})

const port = process.env.PORT || 3000;
app.listen(port, () => {
    console.log(`serving on port ${port}`)
})

app.all('*', (req, res, nwxt) => {
    res.send("404!!!")
})

const port = process.env.PORT || 3000;
app.listen(port, () => {
    console.log(`serving on port ${port}`)
})

You have to replace:你必须更换:

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

To:到:

app.use(express.static('public'))

And to get chart1.js并获得chart1.js

Insted of this:这样做的:

<script src="../public/javascripts/chart1.js"></script>

Use this:用这个:

<script src="/javascripts/chart1.js"></script>

暂无
暂无

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

相关问题 使用 app.use(express.static(&#39;public&#39;)) 时如何测试 Express 应用程序; - How to test an Express application when using app.use(express.static('public')); app.use(“ /”,express.static)和app.use(express.static)之间有区别吗? - Is there a difference between app.use(“/”, express.static) and app.use(express.static)? 如何关闭app.use(express.static(&#39;/ public&#39;)); 快递js - How to turn off app.use(express.static('/public')); Express js app.use(express.static("public")) 是否为每个请求调用中间件? - Does app.use(express.static("public")) call the middleware for every request? 如果app-是子应用程序,则`app.use(express.static`似乎不起作用 - `app.use(express.static` seems to not working if app - is subapplication 如何配置express.js的app.use(express.static(…)`? - How to configure express.js's `app.use(express.static(…)`? 与 app.use(express.static(...)) 相关的 next() 中间件/路由是什么? - What are the next() middlewares/routes relative to app.use(express.static(…))? ExpressJs - express.static(__ dirname)指向哪里? - ExpressJs - where express.static(__dirname) point to? 在带有express的node.js中使用express.static(__ dirname)函数时,重定向到错误的html页面 - redirected to wrong html page when using express.static(__dirname) function in node.js with express 在一个文件中需要express,在另一个文件中使用express.static - Require express in one file and use express.static in another
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM