首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角度材质+角度通用

角度材质+角度通用
EN

Stack Overflow用户
提问于 2017-08-31 15:31:35
回答 1查看 2.3K关注 0票数 4

我正在尝试在服务器端的Nodejs + Expressjs上使用Angular Universal呈现Angular应用程序。在通过ng build --prod --app 1构建app并使用webpack编译之后,通过node server.js运行app。在浏览器中打开应用程序时出现错误Current document does not have a doctype. This may cause some Angular Material components not to behave as expected.

代码语言:javascript
复制
// Load zone.js for the server.
require('zone.js/dist/zone-node');
require('reflect-metadata');

import * as express from 'express';
import { enableProdMode, ValueProvider } from '@angular/core';
import { renderModuleFactory } from '@angular/platform-server';
import { join } from 'path';
import { readFileSync } from 'fs';
const { provideModuleMap } = require('@nguniversal/module-map-ngfactory-loader');
const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require('./dist-
server/main.bundle');

const template = readFileSync('./src/index.html', { encoding: 'utf8' });

const app = express();

app.engine('html', (_, options, callback) => {
  const opts = {
    document: template,
    url: options.req.url,
    extraProviders: [
      <ValueProvider>{
        provide: 'REQUEST',
        useValue: options.req,
      },
      provideModuleMap(LAZY_MODULE_MAP)
    ]
 };

renderModuleFactory(AppServerModuleNgFactory, opts)
  .then(html => callback(null, html));
});

app.set('view engine', 'html');
app.set('views', 'src');

app.get('*.*', express.static(join(__dirname, 'dist-server')));

app.get('*', (req, res) => {
  res.render('index', {req});
});

app.listen(5000, () => {
  console.log('listening on http://localhost:5000!');
});

看起来这个bug与@angular/material有关,将来会被修复,但是有什么解决方法吗?

EN

回答 1

Stack Overflow用户

发布于 2017-11-14 19:01:11

目前,Angular Universal不支持Angular材质2。https://github.com/angular/universal#in-progress

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45975738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档