2016-08-31 80 views
1

我有一个setFilelocation,我在多个.js文件中使用此变量。所以每次使用这个变量时都会设置相同的路径。node.js/javascript - 如何在相对路径中映射变量

有什么办法,我可以使用这个变量作为全局变量,我只能一次硬编码这个位置,如:

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

回答

0

当您使用节点可以使用require

我这样做是与像在一个文件中这个

称为config.js例如

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

然后在你的代码需要配置的配置信息。 js

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

而且你将有一个CCESS您要

0

有一个全球性的功能,而不是将采取这些投入并返回全路径。

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

如果子目录中有多个文件,我要上网,我该怎么办这个? – MOUSE

+0

你可以用第三个参数的不同值调用它,如果这就是你正在寻找的东西? – Vasan

+0

是的,我只是为了那个。 – MOUSE

0

将它设置为一个全局变量:

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

然后你可以使用它在你的代码的任何地方: console.log(setFileLocation);

但请记住,使用全局变量一样,是不建议。

0

有很多选择使用全球(不建议,因为在实践中,Node.js的应用程序不应该包含全局变量

  1. 无论怎样的变量或funtion创建路径, )

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

  2. 出口实用模块并将其导入

    ==== YOUR_APP/config.js ==== module.exports = { fileLocation:“/家/名/ parent1/parentdirec /直销/ qa.json“ };

    === YOUR_APP/SOME_PATH/a.js ==== require('rootpath')();

    无功配置=需要(“/配置”) // config.fileLocation