her*_*rve 211
Node.js提供了一个标准的API来实现:Path.
获取当前脚本的名称很简单:
var path = require('path');
var scriptName = path.basename(__filename);
Run Code Online (Sandbox Code Playgroud)
Ant*_*ick 46
在模块中,您可以执行以下任一操作以获取带文件名的完整路径
this.filename;
module.filename;
__filename;
Run Code Online (Sandbox Code Playgroud)
如果你只想要没有路径或扩展名的实际名称,你可以做这样的事情.
module.filename.slice(__filename.lastIndexOf(path.sep)+1, module.filename.length -3);
Run Code Online (Sandbox Code Playgroud)
Red*_*rus 30
仅获取文件名.没有额外的模块:
// abc.js
console.log(__filename.slice(__dirname.length + 1));
// abc
console.log(__filename.slice(__dirname.length + 1, -3));
Run Code Online (Sandbox Code Playgroud)
ily*_*rov 22
'use strict';
const scriptName = __filename.split(/[\\/]/).pop();
Run Code Online (Sandbox Code Playgroud)
console.log(__filename);
// 'F:\__Storage__\Workspace\StackOverflow\yourScript.js'
const parts = __filename.split(/[\\/]/);
console.log(parts);
/*
* [ 'F:',
* '__Storage__',
* 'Workspace',
* 'StackOverflow',
* 'yourScript.js' ]
*
**/
Run Code Online (Sandbox Code Playgroud)
这里我们使用带有正则表达式的split函数作为第一个参数.
我们要为分隔符的正则表达式(通过拆分或),但符号必须逃脱从正则表达式终止区分开来,所以. [\/]/\///[\\/]/
const scriptName = __filename.split(/[\\/]/).pop(); // Remove the last array element
console.log(scriptName);
// 'yourScript.js'
Run Code Online (Sandbox Code Playgroud)
你真的应该使用path.basename(首先在Node.js v0.1.25中记录),因为它处理你不想知道的所有角落情况,例如带有斜杠的文件名(例如unix上名为"foo\bar"的文件).见上面的path答案.
| 归档时间: |
|
| 查看次数: |
66180 次 |
| 最近记录: |