我试图弄明白,我是否应该在我的开发环境中使用if (window.history && window.history.pushState) {
// HTML5 history API is available.
$locationProvider.html5Mode({
enabled: true,
});
} else {
// hashbang mode.
window.location.hash = '/';
$locationProvider.html5Mode({
enabled: true,
});
}
$urlRouterProvider.otherwise("/");
$stateProvider
.state('statistics', {
url: "/statistics/:id",
templateUrl: '../path/statistics.html',
controller: 'ResultCtrl'
}
);
。
当我使用localhost进行开发时,这样做是否有任何(不利)优势?当本地服务器本身没有缓存并且在另一个域(生产域vs本地主机)上时,我看不到缺点?特别是对于CSS和Javascript中的某些路径进行硬编码,这些路径将始终返回404开发..
我一直在使用config.assets.prefix
作为公关。推荐另一位不再与我们合作的开发人员。
这是一个问题,是否有其他人已经考虑并采取了立场?
答案 0 :(得分:3)
使用config.assets.prefix
的最大原因来自于使用本地资产预编译。本地预编译和存储在源代码管理中有多种原因。来自http://guides.rubyonrails.org/asset_pipeline.html#local-precompilation
- 您可能没有对生产文件系统的写入权限。
- 您可能正在部署到多台服务器,并希望避免重复工作。
- 您可能正在进行不包含资产更改的频繁部署。
本地编译允许您将已编译的文件提交到源代码管理中,并正常部署。
但是如果你使用它,你将在开发模式中遇到麻烦,因为rails将为/public/assets
中的预编译资产提供服务。因此,您经常设置config.assets.prefix = '/dev-assets'
,因此每次要查看/app/assets
中的本地更改效果时,您都不需要预编译。