【问题标题】:ExpressJS, EJS: Uncaught SyntaxError: Unexpected token '<' (at file.js 1:1ExpressJS、EJS:未捕获的语法错误:意外的标记 \'<\'(在 file.js 1:1
【发布时间】:2022-12-10 22:35:33
【问题描述】:

我有一个带有 ejs 模板引擎的 ExpressJS 服务器在网页中运行一个 Blockly 应用程序和一个 threejs 映射。我的问题是,当我转到 /applications/newApp 时,app.ejs 运行良好,但是当我转到 /applications/:slug(这是加载已保存应用程序的请求)时,app.ejs 崩溃并出现以下错误:

Uncaught SyntaxError: Unexpected token '<' (at file.js:1:1)
Uncaught SyntaxError: Unexpected token '<' (at anotherFile.js:1:1)

这是我的 ejs 代码:

    <p hidden id="pageName">
      <% if(page_name=="savedApp" ) { %>
        savedApp
        <% } else { %>
          newApp
          <% } %>
    </p>

    <p hidden id="slug">
      <% if(page_name=="savedApp" ) { %>
        <%= slug %>
        <% } else { %>
          none
          <% } %>
    </p>

这些都调用了相同的文件,但一个运行良好而另一个崩溃。这些也是服务器响应的方式;

exports.getNewApp = (req, res) => {
    res.render('app', {
        page_name: 'newApp',
    });
};
exports.loadApplication = async (req, res) => {
    try {
        res.render('a', {
            page_name: 'savedApp',
            slug: req.params.slug,
        });
    } catch (err) {
        console.log(err);
        res.status(500);
    }
};

我试过什么:

  • 我查看了打开的<% %>标签,这里没有报错
  • 我正在使用这样的公共文件:
app.use(express.static(path.join(__dirname + 'public')));
app.use('/applications', express.static(path.join(__dirname + 'public/blocklyApplication')));

我还检查了以下问题:

Express.js, Node.js, EJS - Uncaught SyntaxError: Unexpected token <

SyntaxError: Unexpected token ; while compiling ejs

SyntaxError: Unexpected token ,while compiling ejs

我不明白,它们都是具有通用 url 的同一页面的响应,一个效果很好,另一个效果不好。我应该检查什么?

【问题讨论】:

    标签: node.js express ejs


    【解决方案1】:

    我不知道为什么,在尝试对代码进行一些更改后,添加

    app.use(
    '/applications/:slug',
    express.static(path.join(__dirname + '/public/blocklyApplication'))
    );
    

    在我的代码中使一切正常。

    编辑:这里Express-js can't GET my static files, why? 也有关于路由公众的详细答案。

    【讨论】:

      猜你喜欢
      • 2023-01-29
      • 2023-02-21
      • 2020-02-27
      • 2020-08-09
      • 2020-08-02
      • 1970-01-01
      • 2023-02-10
      • 2023-03-05
      • 1970-01-01
      相关资源
      最近更新 更多