我正在使用GET请求访问以下URL:http://localhost:5029/article/16
在Node中,我检查article/16
的方式如下:
req.url.split("article/")[1];
并尝试使用handlebars渲染组件,代码如下:
res.render('header', {layout: 'header.component.html'});
我看到组件被渲染出来了,但是CSS样式没有加载。
我的component.ts文件如下:
@Component({
selector: 'app-header',
templateUrl: './header.component.html',
styleUrls: ['./header.component.scss']
})
export class HeaderComponent implements OnInit { }
组件 HTML:
<div class="header">
<li class="menu-item">
<a [routerLinkActive]="['active']" routerLink="/home">Home</a>
</li>
<li class="menu-item">
<div class="dropdown">
<button type="button" class="btn dropdown-toggle" data-toggle="dropdown" [routerLinkActive]="['active']">Tutorials</button>
</div>
</li>
</div>
Handlebars设置:
app.engine(
"hbs",
hbs({
extname: "html",
defaultView: "default",
layoutsDir: "../src/app/components/header/",
partialsDir: "../src/app/components/"
})
);
app.set("view engine", "hbs");
RiotJS已经实现了类似的要求:
https://riot.js.org/api/#-riotrendertagname-opts
// render "my-tag" to html
var mytag = require('my-tag')
riot.render(mytag, { foo: 'bar' })
document
或localstorage
等东西在服务器上不可用。所以我只想从服务器呈现特定的组件。 - kittu