在angular2 universal上为站点地图设置路线
set route for sitemap on angular2 universal
我们如何设置路由,以便可以通过 URL 访问站点地图:
/sitemap.xml
我的应用路由模块是这样的:-
export function getHomeModule() {
return System.import('./+home/home.module' + (process.env.AOT ? '.ngfactory' : ''))
.then(mod => mod[(process.env.AOT ? 'HomeModuleNgFactory' : 'HomeModule')]);
}
@NgModule({
imports: [
RouterModule.forRoot([
{ path: '', redirectTo: '/home', pathMatch: 'full' }
], {preloadingStrategy: PreloadAllModules})
],
})
我正在使用 angular 通用入门套件 Angular Universal Starter Kit。
在此处尝试 Tor Helgevord 关于 angular 服务器端呈现和动态站点地图的文章:http://www.syntaxsuccess.com/viewarticle/server-side-rendering-in-angular-2.0
将此添加到 server.ts 文件夹中的 src 文件中:-
app.route('/sitemap.xml')
.get((req, res) => {
res.sendFile(path.resolve(path.join(__dirname,'/sitemap.xml')));
});
更新:
至于Angular通用2.1(around)
server.ts 有以下导入路径
import * as path from 'path';
所以分辨率有点,
const ROOT = path.join(path.resolve(__dirname, '..'));
当前angular通用版本2.6
server.ts 有以下导入路径
import {join} from 'path';
所以分辨率转移到,
const DIST_FOLDER = join(process.cwd(), 'dist');
更新至 Angular 6(通用):
app.route('/sitemap.xml')
.get((req, res) => {
res.sendFile(join(DIST_FOLDER,'sitemap.xml'));
});
我们如何设置路由,以便可以通过 URL 访问站点地图:
我的应用路由模块是这样的:-
export function getHomeModule() {
return System.import('./+home/home.module' + (process.env.AOT ? '.ngfactory' : ''))
.then(mod => mod[(process.env.AOT ? 'HomeModuleNgFactory' : 'HomeModule')]);
}
@NgModule({
imports: [
RouterModule.forRoot([
{ path: '', redirectTo: '/home', pathMatch: 'full' }
], {preloadingStrategy: PreloadAllModules})
],
})
我正在使用 angular 通用入门套件 Angular Universal Starter Kit。
在此处尝试 Tor Helgevord 关于 angular 服务器端呈现和动态站点地图的文章:http://www.syntaxsuccess.com/viewarticle/server-side-rendering-in-angular-2.0
将此添加到 server.ts 文件夹中的 src 文件中:-
app.route('/sitemap.xml')
.get((req, res) => {
res.sendFile(path.resolve(path.join(__dirname,'/sitemap.xml')));
});
更新:
至于Angular通用2.1(around)
server.ts 有以下导入路径
import * as path from 'path';
所以分辨率有点,
const ROOT = path.join(path.resolve(__dirname, '..'));
当前angular通用版本2.6
server.ts 有以下导入路径
import {join} from 'path';
所以分辨率转移到,
const DIST_FOLDER = join(process.cwd(), 'dist');
更新至 Angular 6(通用):
app.route('/sitemap.xml')
.get((req, res) => {
res.sendFile(join(DIST_FOLDER,'sitemap.xml'));
});