javascript - 如何使我的 sails 应用程序在 dev 中使用本地 js 和 css 依赖项并在 prod 中使用 cdn ?

标签 javascript node.js sails.js ejs

我想在生产模式下使用 cdn 来实现 bootstrap、jquery 等功能。但在本地开发中,我仍然想使用自动注入(inject)js和css依赖项。我怎样才能自动完成它?

我知道以下代码片段可以区分生产和开发环境。

<% if (sails.config.environment === 'production') { %>
<!-- prod script tags go here -->
<% } else  {
    // Client-side Javascript in development
    // ========================
%>
<!-- whether you're using the linker or not, dev scripts could go here -->
<!--SCRIPTS-->
<!--SCRIPTS END-->
<% } %>

但是,并不是所有的注入(inject)js都是为了开发。我只希望注入(inject)这些 vendor 的脚本以进行开发。但是我的自定义脚本(例如 Angular Controller )应该注入(inject)用于生产和开发。

最佳答案

config/local.js 和 config/env 中的所有内容都完成了它们的工作,但对于环境变量来说还不够。

我们真正需要的是一个存储所有配置变量的地方,无论我们是在开发、测试还是生产环境中。答案很简单:使用 dotenv。这将加载 .env 文件或在计算机上查找环境变量。

首先将其拉入 Sails.js 项目并遵循 dotenv 文档:

$ npm install dotenv --save
Then require dotenv in app.js and load the .env file:

var dotenv = require('dotenv');
dotenv.load();

创建一个 .env 并在其中放入一些变量:

environment= PRODUCTION

现在您可以在应用程序中的任何位置访问这些环境变量(可能在某些配置/文件中):

console.log(process.env.PRODUCTION);

关于javascript - 如何使我的 sails 应用程序在 dev 中使用本地 js 和 css 依赖项并在 prod 中使用 cdn ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34803335/

相关文章:

javascript - 悬停时播放音频文件(并在鼠标移开时停止播放)

javascript - 填充条件失败

javascript - 使 js 文件在 sails 应用程序中可用(无需将它们注入(inject)每个 View )

javascript - ReadStream和WriteStream到nodejs中的同一个文件

node.js - 无法更新 Sails.js 模型实例中的属性

javascript - 添加声音播放完毕后更改/删除类的事件监听器

javascript - 如何在 vuetify 中创建一个 fab 按钮?

javascript - Angular4 *ng如果不工作/变量未定义

angularjs - 元素不可见错误: Cannot click on element-error in Protractor IE browser

node.js - 尝试打印字符串时代码突然停止执行