如何对除索引页以外的所有页面使用 Ember
How to use Ember for all pages except the index page
我有一个ember项目,而且越来越重了。
我希望着陆页加载得更快,因此我想将其设为静态 HTML(不加载 ember js 文件)。
我想在 ember.
中拥有的所有其他页面
所以,我希望 site.com 为我的 HTML 静态页面(不是 ember)提供服务,但 网站.com/page1 和 站点。com/page2 服务 ember 个页面。
可以吗?
这绝对有可能,但实际方法将高度依赖于您的服务器基础架构。您应该能够将服务器配置为服务 non-Ember index.html
并为每个其他请求服务 Ember index.html
。
安装prember
ember install ember-cli-fastboot
ember install prember
在ember-cli-build.js
let app = new EmberApp(defaults, {
prember: {
urls: [
'/',
]
}
});
配置您的网络服务器,它应该使用 _empty.html 来响应未知的 URL。
我是在 .htaccess
文件的帮助下完成的:
在public/.htaccess
中替换
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
和
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /_empty.html [L]
疑难解答:
在更新之前我遇到了构建错误
ember-cli-moment-shim
到 ^3.8.0
我有一个ember项目,而且越来越重了。 我希望着陆页加载得更快,因此我想将其设为静态 HTML(不加载 ember js 文件)。 我想在 ember.
中拥有的所有其他页面所以,我希望 site.com 为我的 HTML 静态页面(不是 ember)提供服务,但 网站.com/page1 和 站点。com/page2 服务 ember 个页面。
可以吗?
这绝对有可能,但实际方法将高度依赖于您的服务器基础架构。您应该能够将服务器配置为服务 non-Ember index.html
并为每个其他请求服务 Ember index.html
。
安装prember
ember install ember-cli-fastboot
ember install prember
在ember-cli-build.js
let app = new EmberApp(defaults, {
prember: {
urls: [
'/',
]
}
});
配置您的网络服务器,它应该使用 _empty.html 来响应未知的 URL。
我是在 .htaccess
文件的帮助下完成的:
在public/.htaccess
中替换
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
和
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /_empty.html [L]
疑难解答:
在更新之前我遇到了构建错误
ember-cli-moment-shim
到 ^3.8.0