[英]Meteor doesn't serve all HTML files in a directory
在瀏覽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中進行調試時,我發現它看到了一組不同的文件:
看着這個問題,我能夠找到生成的app.js ,它具有
Template.body.addContent((function() {
但沒有(預期?)
Template.task.addContent
所以我的問題是,為什么Meteor構建沒有選擇task.html ?
注意:我剛剛將Meteor更新到1.8.0.2。 那可能是該版本中的新錯誤嗎?
UPDATE
我使用相同的教程從頭開始,並順利完成了第10步。
然后,我對兩個項目進行了比較。 到目前為止,我無法找到這個問題的根本原因,但原因是可見
.meteor /本地/編譯/程序/ web.browser /應用/ app.js
原始文件(右側)缺少task.html生成的部分
問題仍然是為什么? 我可以查看任何編譯日志嗎?
好的,@ victor和@ fred-stark的錢是對的。 這是Blaze模板中的語法錯誤!
<template name="task">
<li class="{{#if checked}}checked{{/if}} {{#if private}}private{{/if}}">
<button class="delete">×</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>
我通常會在編寫教程時嘗試自己鍵入所有內容,而不是復制粘貼。 所以,在這里我輸錯,subconsiously承擔語法else
將是一樣的if
。 錯誤!
如果在構建過程中編譯器發出了一些指示,還是很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.