簡體   English   中英

我如何將 .js 文件傳遞到 .ejs 和節點

[英]How can i pass a .js file into .ejs and node

我希望能夠將一個名為 popmotion 的庫加載到我的主頁中,該庫位於傳遞給 node/express 的 .ejs 文件中,目前我的文件 popmotion.js 中的代碼沒有運行,我希望能夠控制 dom 元素通過 popmotion.js 在 ejs 文件中提到,我得到控制台錯誤的引用錯誤,這表明安裝在節點模塊中的模塊 popmotion 未被識別,我不知道它是否與我的 list.ejs、app.js 或我的文件結構有關或者是其他東西

我的節點文件有這些依賴項

const express = require("express");
const bodyParser = require("body-parser");
const mongoose = require("mongoose");
const _ = require("lodash");
const popmotion = require("popmotion");

const app = express();

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

app.use(bodyParser.urlencoded({extended: true}));
app.use(express.static("public"));

mongoose.set('useNewUrlParser', true);
mongoose.set('useFindAndModify', false);
mongoose.set('useCreateIndex', true);
mongoose.set('useUnifiedTopology', true);
mongoose.connect("mongodb://localhost:27017/todolistDB");

我的 list.ejs 看起來像這樣

<%- include("header") -%>

  <div class="box" id="heading">
    <h1> <%= listTitle %> </h1>
  </div>

  <div id="b"class="box ball">

    <% newListItems.forEach(function(item){ %>
      <form action="/delete" method="post">
       <div class="item">
        <input type="checkbox" name="checkbox" value="<%=item._id%>" onChange="this.form.submit()">
        <p><%=item.name%></p>
       </div>
       <input type="hidden" name="listName" value="<%= listTitle %>"></input>
      </form>
    <% }) %>

      <form class="item" action="/" method="post">
        <input type="text" name="newItem" placeholder="New Item" autocomplete="off">
        <button type="submit" name="list" value="<%= listTitle %>">+</button>
      </form>
  </div>

<%- include("footer") -%>

我還在 express 中包含了一個 static 公用文件夾以運行 styles.css 和 popmotion.js(我試圖在主頁上呈現的文件),我的文件結構看起來像這樣文件結構

您需要從前端代碼加載 popmotion 腳本。 因此,在您的 EJS 模板之一中,例如:

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

目前您正在將其作為節點模塊加載,當瀏覽器查看您的渲染模板時,瀏覽器無法使用該模塊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM