node.js / javascript - 如何在相对路径中映射变量

时间:2016-08-31 06:25:04

标签: javascript node.js

我有一个setFilelocation,我在多个.js文件中使用此变量。因此,每次使用此变量时都会设置相同的路径。

我有什么方法可以将此变量用作全局变量,我只能对此位置进行一次硬编码,例如:

var setFileLocation = '/home/name/parent1/parentdirec/direc/qa.json';

4 个答案:

答案 0 :(得分:0)

使用全局函数来获取这些输入并返回完整路径。

var path = require('path')
function computePath(dir, subdir, file) {
    var pathParts = [];
    pathParts.push(dir, subdir, file);    
    return pathParts.join(path.sep);
}

答案 1 :(得分:0)

将其设置为全局变量:

global.setFileLocation = '/home/name/parent1/parentdirec/direc/qa.json';

然后您可以在代码的任何位置使用它: console.log(setFileLocation);

但请记住,不建议使用像这样的全局变量。

答案 2 :(得分:0)

在使用节点时,您可以使用require

我使用这样的配置信息执行此操作

在一个名为config.js的文件中,例如

module.exports = {
    v1: somevalue,
    fileLocation: "/default/file/loc",
    computePath: (dir, subdir, file) {
         //use Vasans example here
    }
 };

然后在你的代码中需要config.js

var config = require('./config.js');

您可以访问变量或功能来创建路径,无论您想要哪种方式

答案 3 :(得分:0)

有很多选择

  1. 使用全局(不建议因为在实践中,node.js应用程序不应包含全局变量)

    global.setFileLocation =' /home/name/parent1/parentdirec/direc/qa.json' ;;

  2. 导出到实用程序模块并导入

    ==== YOUR_APP / config.js ==== module.exports = {     fileLocation:" /home/name/parent1/parentdirec/direc/qa.json"  };

    === YOUR_APP / SOME_PATH / a.js ==== 要求(' ROOTPATH')();

    var config = require(' / config') // config.fileLocation