总述
Assets中是服务端想让外部获取的的静态文件。在Sais中,他们放在assets/目录下。当你启动app,或者向assets目录下新增文件,或者改变现有的assets,Sails的assets管道启动并将这些那些文件同步到一个隐藏目录(.tem/pubolic)。
这个隐藏目录实际上就是运行时Sails的服务所在。
静态中间件
在这个场景之后,Sails用Express的服务静态中间件来服务assets。可以在http/config.js中配置这个中间件。
index.html
像大多数web服务器一样,Sails优先使用index.html。比如,创建了assets/foo.html,就可以访问http://localhost:1337/foo.html。但如果创建了assets/foo/index.html,那就可以访问http://localhost:1337/foo/index.html和http://localhost:1337/foo。
优先级
在Sails的route之后注解静态中间件十分重要。如果定义了一个route,但在assets目录中有冲突的路径,route会在它到静态中间件之前将其拦截。比如,定义了assets/index.html,在config/routes.js中没有相关路由,它将作为你的首页。但如果定义了一个route像’/’: ‘FooController.bar’,这个路径将会优先使用。