您好我有一个网络应用程序,当我在我的计算机和农村地区的开发模式下工作时,我需要能够将资产用于本地文件夹。但是,当我将代码部署到PROD服务器时,我需要能够从CDN切换要加载的资产。
在sails.environment global的帮助下,这有可能吗?
例如
<% if(sails.environment == 'PROD') { %>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular-resource.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular-cookies.min.js"></script>
<% } else { %>
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/angular.min.js"></script>
<script src="/js/angular-resource.min.js"></script>
<script src="/js/angular-cookies.min.js"></script>
<% } %>
谢谢。
答案 0 :(得分:0)
这些标签由Grunt插入。
我认为您可以修改tasks/config/sails-linker.js
以达到您想要的效果:
有一个部分devJS
和prodJs
我认为您应该根据您的要求对其进行修改。
请注意,我不知道这是否是帆的好习惯。
编辑更多可能有用的内容:
风帆升降机 - &gt;运行默认任务(tasks / register / default.js)。
sails lift --prod - &gt;运行prod任务(tasks / register / prod.js)。
从http://sailsjs.org/#/documentation/concepts/Assets/TaskAutomation.html
出来答案 1 :(得分:0)
您可以使用sails.config.environment
或process.env.NODE_ENV
在示例中实现您的目标,但更好的解决方案可能是使用特定于环境的配置文件来指定资产路径。例如,在config/development.js
中,您可以:
"assets_path": "/js"
和config/production.js
:
"assets_path": "//ajax.googleapis.com/ajax/libs/jquery/1.10.2"
然后在你看来:
<script src="<%=sails.config.assets_path%>/jquery.min.js"></script>