【问题标题】:How to resolve "Unresolved variable or type data" warnings when using EJS?使用 EJS 时如何解决“未解析的变量或类型数据”警告?
【发布时间】:2019-03-03 14:42:00
【问题描述】:

我使用 EJS 作为模板引擎。一切看起来都很好,但我在 IntelliJ 中有这些弱 “未解析的变量或类型数据” 警告。如何摆脱这些警告?代码有什么问题吗?

app.js

var express = require('express');
var app = express();

var hostname = 'localhost';
var port = 3000;

app.set('view engine', 'ejs');
app.use('/static', express.static('static'));

app.get('/', (req, res) => {
  res.sendFile(`${__dirname}/index.html`);
});

app.get('/profile/:id', (req, res) => {
  var userData = {
    id: req.params.id,
    firstName: 'John',
    lastName: 'Peterson',
    age: 23,
    active: true,
    interests: ['Design', 'Web', 'Acting']
  };
  res.render('profile', { data: userData });
});

app.get('*', (req, res) => {
  res.sendFile(`${__dirname}/404.html`);
});

app.listen(port);
console.log(`Server running at http://${hostname}:${port}`);

views/profile.ejs

 <!doctype html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>My Profile</title>
      <link rel="stylesheet" href="../static/style.css">
    </head>
    <body>
      <h2>My Profile Template</h2>
      <p>ID: <%=data.id%></p>
      <p>Name: <%=data.firstName%> <%=data.lastName%></p>
      <p>Age: <%=data.age%> years</p>
      <p>Active: <%=data.active%></p>
    </body>
    </html>

【问题讨论】:

  • 你的编辑器有 ejs 文件插件吗?看来您的编辑器认为该变量未定义。你的编辑器认为这是一个 HTML 文件吗?
  • 是的,EJS 插件已安装,也已删除并重新安装。
  • 你找到解决办法了吗?
  • @JB 目前什么都没有。

标签: node.js express ejs


【解决方案1】:

我通过在%=% 之间添加空格解决了这个问题。

<p>Name: <%= data.firstName %> <%= data.lastName %></p>

【讨论】:

    【解决方案2】:

    您似乎需要在代码中的某处导出 data 对象。

    尝试将module.exports = { data: {}; } 添加到app.js 文件的末尾。

    要使自动完成功能正常工作,您应该导出一个真实对象 (userData) 而不是一个空对象,或者使用 TypeScript。

    【讨论】:

      猜你喜欢
      • 2017-04-11
      • 2022-09-27
      • 1970-01-01
      • 2017-12-02
      • 1970-01-01
      • 2021-11-15
      • 2017-12-11
      • 2014-01-17
      相关资源
      最近更新 更多