访问文件夹内部的文件,这是在SAIL中的config文件夹js(node js framework)
我必须访问位于config
文件夹( /config/schemas/userSchemas.js
)中的文件夹内的文件。 如何从我的控制器或服务中访问这个文件。 这个怎么做? 我已经尝试过sails.config.schemas.userSchemas
。 但它没有工作。 还有什么我可以尝试?
真的不build议您直接require
configuration文件。 Sails将需要它们,并将内容合并到sails.config
,完全忽略你的目录结构。 所以,如果你的config/schemas/userSchemas.js
文件包含:
module.exports.userSchemas = { foo: "bar" }
然后,您将可以在应用程序中以sails.config.userSchemas
访问该configuration。 注意第一行非常仔细 :如果你只是做module.exports = {...}
那么对象将被合并到sails.config
, 而不是 sails.config.userSchemas
– 正如我之前所说,configuration合并在不考虑到目录结构。
如果你有需要加载的文件,你不想成为sails.config
一部分,只需将它们放在项目的不同文件夹中(例如schemas
),并按照其他答案中的指定使用require
。
假设你有以下的目录结构
myapp ├── app.js ├── _config │ ├── _schemas | | | ├── userSchemas.js | ├── otherSchemas.js | ├── _controller │ ├── _module1 | | | | | ├── userController.js | | ├── otherController.js | ├── otherController.js
在app.js
,您可以访问
require('./config/schemas/userSchemas.js');
在otherController.js
,你可以访问as
require('../config/schemas/userSchemas.js');
在userController.js
,你可以访问as
require('../../config/schemas/userSchemas.js');
结束语: ..
用于转到父目录(一个目录后面) .
用于当前目录
我希望这会帮助你在node.js中的目录结构
我会build议为path定义一个全局variables。
考虑你有以下目录结构(如@ arif的答案中所述)。
myapp ├── app.js ├── _config │ ├── _schemas | | | ├── userSchemas.js | ├── otherSchemas.js | ├── _controller │ ├── _module1 | | | | | ├── userController.js | | ├── otherController.js | ├── otherController.js
现在在你的app.js中写下如下的第一行。
global.__base = __dirname + '/';
注意 :现在global .__ base指向/path-to-your-myapp-directory/myapp/
现在你可以访问userSchema.js
或者其他任何文件。
在所有文件( app.js
, userSchemas.js
, userController.js
)中,您可以要求userSchemas.js
像这样
require(global.__base + 'config/schemas/userSchemas.js');