Node.js / backbone.js应用加载配置文件设置
node.js / backbone.js application load configuration file settings
我有一个node/backbone/sails项目,需要加载特定于部署的配置文件。
所以在应用程序的帆部分,我可以放置一个配置文件myapp/config/mysettings.js
并引用sails.config.mysettings.foo。
但是在应用程序的主干部分,我一辈子都不知道如何引用同一个文件(…)
define([
'jquery',
'async',
...,
**'/config/mysettings.js'**
], function ($, async, ..., **mysettings**) {
relevantAjaxFunction: function() {
...
**fail**:
console.log(mysettings.foo);
在控制台中产生未定义的消息。像这样引用应用程序范围设置文件的正确方法是什么?我已经看过了,但没有找到任何东西,这让我认为这要么是超级明显的,要么是我的问题措辞错误。
Sails不会让你的配置文件公开可浏览。那就……糟了。
你有几个我能想到的选项:
- 在assets文件夹中创建一个指向配置文件的符号链接。这里棘手的部分是,符号链接将按原样复制到.tmp/public文件夹中,所以如果你在符号链接中使用相对路径,它需要是从.tmp/public到config/mysettings.js的相对路径。或者你可以在符号链接中使用绝对路径。
创建一个自定义路由,只使用
传输文件fs
:require('fs') .createReadStream(sails.config.paths.config+"/mysettings.js") .pipe(res);
虽然你应该真正使用
path
模块来确定文件路径,并将整个东西包装在try/catch
中,以防万一…使用策略为每个请求在本地变量中添加配置设置,例如:
module.exports = function myConfigPolicy(req, res, next) { res.locals.mysettings = sails.config.mysettings; return next(); }
和视图/布局。ejs执行如下操作:
<script type="text/javascript"> var mySettings = <%= JSON.stringify(mysettings) %>; </script>
调整您选择的模板引擎。当然,这不会使用AMD在运行时加载配置,所以如果这是一个问题,请选择#1或#2!
相关文章:
- 通过oauth令牌passport.js访问用户配置文件
- 需要JS配置和库文件的路径
- 更改sails.js中的配置文件夹结构
- 配置文件需要 JS 问题
- 在 Node.JS 中使用配置文件的最佳方式
- 添加当前用户配置文件metro.js的文档
- CocoonJS和Panda.js-配置文件图片类型的事情是可能的
- 配置WebStorm/PhpStorm将.ts文件编译为.js文件;js”;文件夹
- 配置文件:JS vs INI
- 如何使用zend中公共目录下定义的js文件中的配置文件(或变量)
- 用户配置文件信息在每次页面刷新后重置(使用Hello.js)
- 通过require.js将xml配置文件传递到javascript库中
- 避免重复“;路径”;RequireJS主文件和r.js构建文件中的配置
- 解释node.js配置文件输出
- 如何使用twitter api(js)获取用户配置文件图像
- 应该在Node.js和Express中找到数据库配置文件
- 如何将passport js配置放在一个公共文件中
- Node.js:配置和路由在不同的文件中
- 从JS中运行karma test,不需要配置文件
- Node.js / backbone.js应用加载配置文件设置