相关疑难解决方法(0)

1126
推荐指数
17
解决办法
84万
查看次数

Node.js - 获取当前文件名

如何获取当前文件名,功能名称和行​​号?

我想用它来记录/调试的目的,相当于__FILE__,__LINE__ 在C

node.js

105
推荐指数
5
解决办法
7万
查看次数

如何获取在NodeJS中执行的脚本的文件名?

如何在NodeJS应用程序中获取脚本的文件名?

node.js

46
推荐指数
3
解决办法
2万
查看次数

使用--experimental-modules标志时,节点中__dirname的替代方法

--experimental-modules在运行节点应用程序时使用该标志以使用ES6模块.

但是,当我使用此标志时,元变量__dirname不可用.是否有另一种方法可以获得__dirname与此模式兼容的相同字符串?

node.js ecmascript-6 es6-modules

38
推荐指数
12
解决办法
6592
查看次数

在Node.JS中引用相对于应用程序根目录的文件的正确方法

我在AWS EC2上的Linux上运行了一个Node.JS应用程序,该应用程序使用fs模块读取HTML模板文件.以下是该应用程序的当前结构:

/server.js
/templates/my-template.html
/services/template-reading-service.js
Run Code Online (Sandbox Code Playgroud)

HTML模板将始终位于该位置,但是,模板读取服务可能会移动到不同的位置(更深的子目录等).在模板读取服务中,我使用fs.readFileSync()来加载文件,像这样:

var templateContent = fs.readFileSync('./templates/my-template.html', 'utf8');
Run Code Online (Sandbox Code Playgroud)

这会引发以下错误:

Error: ENOENT, no such file or directory './templates/my-template.html'
Run Code Online (Sandbox Code Playgroud)

我假设这是因为路径'./'正在解析到'/ services /'目录而不是应用程序根目录.我也尝试将路径更改为'../templates/my-template.html'并且有效,但它看起来很脆弱,因为我认为这只是相对于"向上一个目录"进行解析.如果我将模板读取服务移动到更深的子目录,那么该路径将会中断.

那么,相对于应用程序根目录引用文件的正确方法是什么?

linux node.js

21
推荐指数
4
解决办法
3万
查看次数

我怎样才能获得gulpfile的绝对路径?

如何获取gulpfile的绝对路径(来自gulpfile本身)?

我希望使用该位置作为其他相对路径的参考.

javascript node.js gulp

3
推荐指数
1
解决办法
4275
查看次数

如何将资源或模板文件包含在 npm 包中,然后将它们加载到节点中?

如何使我的 npm 包包含一个名为 的文件template.html,然后在全局安装该包后,我的节点 javascript 应用程序将如何找到该文件的路径以便从磁盘加载它?

packaging embedded-resource node.js npm

3
推荐指数
1
解决办法
3500
查看次数