2016-01-13 55 views
0

我正在使用Middleman和activate :asset_hash选项,以便使用哈希编译资源来强制高速缓存失效。问题是,我还加载一些HTML与角templateUrl模板是这样的:Middleman asset_hash with Angular templateUrl

function($routeProvider) { 
    $routeProvider. 
     when('/dashboard', { 
      templateUrl: 'templates/dashboard.html', 
.... 

dashboard文件被用类似templates/dashboard-cc1554f0.html的哈希编译等角度没有找到该文件。

有没有办法在Angular文件中传递Middleman在构建时生成的相同散列?

回答

0

我必须告诉你,我没有遇到这个问题(我的所有js,css和图像都是散列的,但html文件没有)。这是我的Gemfile

的Gemfile

# If you do not have OpenSSL installed, update 
# the following line to use "http://" instead 
source 'https://ruby.taobao.org' 

gem "middleman", "~>4.0.0" 

# Live-reloading plugin 
# gem "middleman-livereload", "~> 3.2.0" 

# For faster file watcher updates on Windows: 
gem "wdm", "~> 0.1.0", :platforms => [:mswin, :mingw] 

# Windows does not come with time zone data 
gem "tzinfo-data", platforms: [:mswin, :mingw, :jruby] 

gem "middleman-minify-html" 

gem "middleman-sprockets", "~> 4.0.0.rc" 

这里是我的config.rb

config.rb

set :css_dir, 'css' 

set :js_dir, 'app' 

set :images_dir, 'images' 

set :layout, false 

# Build-specific configuration 
configure :development do 
    set :backend, 'http://localhost:3000' 
    set :frontend, 'http://localhost:4567/#' 
end 

configure :build do 
    set :backend, 'https://api.example.com' 
    set :frontend, 'https://www.example.com/#' 

    # For example, change the Compass output style for deployment 
    activate :minify_css 

    # Minify Javascript on build 
    activate :minify_javascript 

    # Minify HTML files on build, requires gem `middleman-minify-html` 
    activate :minify_html 

    # Enable cache buster 
    activate :asset_hash 

    # gzip text files 
    activate :gzip 
end 

你可以看到,我使用中间人4.0。

如果您的问题在升级中间人后仍然存在,也许您可​​以将您的js文件重命名为xxx.js.erb并尝试助手url_for

+0

我试图'url_for'这样的: '时( '/仪表板',{ templateUrl: '<%= url_for( “模板/ dashboard.html”)%>'' 但它没没有考虑资产哈希值 – stilllife