【问题标题】:Meteor doesn't serve all HTML files in a directoryMeteor 不提供目录中的所有 HTML 文件
【发布时间】:2019-06-12 01:42:59
【问题描述】:

在学习 Meteor TODO 应用程序教程时,我在第 10 步 发布和订阅遇到了一个问题。

问题是 imports/ui/task.js 中的这段代码不再有效:

import { Meteor } from 'meteor/meteor'
import { Template } from 'meteor/templating';

import './task.html'; // <= fails in the browser

目录imports/ui包含:

body.html   body.js     task.html   task.js

我可以import './body.html'; 很好,但不能import './task.html'; 或任何其他 HTML 文件 - 例如我尝试将 task.html 重命名为 flask.html 并相应地导入它,但仍然以同样的方式失败。

尝试在 Chrome 中调试它,我发现它看到了一组不同的文件:

查看this question我能够找到生成的app.js,其中有

Template.body.addContent((function() {

但没有(预期?)

Template.task.addContent

所以我的问题是为什么 Meteor 构建没有接收 task.html

注意:我刚刚将 Meteor 更新到 1.8.0.2。这可能是该版本中的新错误吗?

更新

我使用相同的教程从头开始,并且顺利完成了第 10 步。

然后我对这两个项目进行了比较。到目前为止,我无法找到导致此问题的 root 原因,但是在

中可以看到 a 原因

.meteor/local/build/programs/web.browser/app/app.js

如附加的差异所示:

原始(右侧)缺少从 task.html

生成的部分

问题仍然是为什么?有没有可以看的编译日志?

【问题讨论】:

  • 你是用meteor create创建的项目还是从gihtub克隆的?
  • 它是使用meteor create 创建的,我只是按照 TODO 应用教程进行操作。我也尝试过meteor reset,但没有成功。
  • 好的,我会尝试重现
  • 您能描述一下“浏览器失败”的原因吗?你能给我们错误信息吗?据我所知,您的 task.html 文件可能有错误,但如果没有更多信息,很难提供帮助
  • 我的经验是,有时当 Blaze 遇到错误时,它只会生成一个空(或丢失)的文件。所以这很可能是 task.html 中的语法错误。你能用那个文件的内容编辑你的问题吗?

标签: javascript meteor


【解决方案1】:

好吧,@victor 和@fred-stark 是对的。这是 Blaze 模板中的语法错误!

<template name="task">
  <li class="{{#if checked}}checked{{/if}} {{#if private}}private{{/if}}">
    <button class="delete">&times;</button>

    <input type="checkbox" checked="{{checked}}" class="toggle-checked" />

    {{#if isOwner}}
      <button class="toggle-private">
        {{#if private}}
          Private
        {{#else}} // <= should be {{else}} !
          Public
        {{/if}}
      </button>
    {{/if}}
    <span class="text"><strong>{{username}}</strong> - {{text}}</span>
  </li>
</template>

我通常在编写教程时尝试自己输入所有内容,而不是复制粘贴。所以,在这里我打错了,下意识地假设else 的语法与if 的语法相同。错了!

如果在构建过程中编译器有一些指示,那就太好了。

【讨论】:

  • 根据meteor版本,导航器或终端会显示一些错误。我正准备将您重定向到 github 以保留一个问题,但它已经在这里打开了:github.com/meteor/meteor/issues/10433
猜你喜欢
  • 2015-08-13
  • 2015-09-28
  • 1970-01-01
  • 1970-01-01
  • 2011-12-04
  • 2014-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多