Meteor HTML未呈现

时间:2016-11-09 13:32:33

标签: javascript html meteor

我的流星项目中有以下结构

// Let's define route with placeholder
$app->get('/user-profile/{userId:[0-9]+}', function($request, $response) {
    // Processing request...
})->setName('userProfilePage');

// Now get the url. Note that we're passing an array with placeholder and its value to `pathFor`
$url = $app->getContainer()->get('router')->pathFor('helloPage', ['userId': 123]);
echo $url; // Outputs '/user-profile/123'

client/ src/ test1.js test2.js main.css main.js main.html server/ f.e:

main.html

但输出为空,这意味着DOM中显示<head> <title>meteorTest</title> </head> <body> <h1>Welcome to Meteor!</h1> {{> hello}} </body> <template name="hello"> <canvas id="canvas"></canvas> </template> <h1>。当我删除canvas - 文件夹时,会呈现src<h1>

可能是什么问题?

2 个答案:

答案 0 :(得分:1)

将您的头部内容放在head.html文件中 不需要身体元素。 用div替换它,它将由Meteor自动渲染到body元素中。

答案 1 :(得分:1)

我会像这样构建你的文件:

 client/
     src/
         test1.js  // Since it seems working when you remove them,
         test2.js  // somethings seems wrong with their code. Maybe post it?
     helpers/
         body.js
     templates/
         body.html
         hello.html
     main.css
     main.js
     main.html 
 server/

使用body.html:

<body>
  <h1>Welcome to Meteor!</h1>
  {{> hello}}
</body>

使用hello.html:

<template name="hello">
   <canvas id="canvas"></canvas>
</template>

然后是你在body.js中的javascript代码:

import '../templates/body.html';
import '../templates/hello.html';

//All your JS code here or imports of other .js

然后在您的客户端根文件夹中:

main.html中:

<head>
  <title>meteorTest</title>
</head>

最后,您必须将所有内容放入main.js文件中:

import './helpers/body.js'

通常,在项目的根目录中有一个单独的“import”文件夹是有意义的。您可以通过这种方式声明服务器端和客户端代码,并确定在服务器/客户端上导入的代码。由于您的项目看起来更像是一个流星测试而且您还没有服务器代码,因此上面的结构应该暂时执行。