Path related APIs

栏目: IT技术 · 发布时间: 6年前

内容简介:switch current working directory intoThe process.cwd() method returns the current working directory of the node.js process. i.e. the directory from which you invoked the
+-- myProject
|	+-- node_modules
|		+-- lodash
|	+-- src
|   	+-- cwd.js
|		+-- dirname.js
|		+-- require.js

switch current working directory into myProject

pwd // '/Users/michaelzheng/Desktop/myProject'

process.cwd

The process.cwd() method returns the current working directory of the node.js process. i.e. the directory from which you invoked the node command.

relative to the process

#!/usr/bin/env node

// cwd.js
process.cwd(); 
// Returns '/Users/michaelzheng/Desktop/myProject'

Use case: fetch project config file which is usually set based on project root. e.g. webpack config file.

__dirname

returns the directory name of the directory containing the JavaScript source code file.

relative to the source code

#!/usr/bin/env node

// dirname.js
__dirname; 
// Returns '/Users/michaelzheng/Desktop/myProject/src'

Use case: get absolute path of a file

require.resolve

use(es) the internal require() machinery to look up the location of a module, but rather than loading the module, just return(s) the resolved filename.

works for module resolution

// require.js
require.resolve('lodash'); 
// Returns /Users/michaelzheng/Desktop/myProject/node_modules/lodash/lodash.js

Use case: resolve node modules which are not installed on current working directory.

path.resolve

The path.resolve() method resolves a sequence of paths or path segments into an absolute path .

always returns absolute path

path.resolve('/foo/bar', './baz');
// Returns: '/foo/bar/baz'

path.resolve('/foo/bar', '/tmp/file/');
// Returns: '/tmp/file'

path.join

The path.join() method joins all given path segments together using the platform-specific separator as a delimiter, then normalizes the resulting path.
path.join('/foo', 'bar', 'baz/asdf', 'quux', '..'); 
// Returns '/foo/bar/baz/asdf'

path.join('foo', 'bar', 'baz/asdf', 'quux', '..'); 
// Returns 'foo/bar/baz/asdf'

Notice

  • If you want to follow the latest news/articles for the series of my blogs, Please 「Watch」 to Subscribe.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

ANSI Common Lisp

ANSI Common Lisp

Paul Graham / Prentice Hall / 1995-11-12 / USD 116.40

For use as a core text supplement in any course covering common LISP such as Artificial Intelligence or Concepts of Programming Languages. Teaching students new and more powerful ways of thinking abo......一起来看看 《ANSI Common Lisp》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换