为什么 Azure 上的 require.main.filename 与我本地 Windows 计算机上的 require.main.filename 不同?

2024-01-05

在我的本地机器上,这段代码:

var path = require('path');
var appdir = path.dirname(require.main.filename);
console.log(appdir);

将记录“c:\sites\mysite”

在 Azure 上,我看到的是:D:\Program Files (x86)\iisnode

我知道,从将节点版本设置为我自己的 http://www.windowsazure.com/en-us/develop/nodejs/common-tasks/specifying-a-node-version/我的应用程序的路径是 D:\home\site\wwwroot

并且,根据docs http://nodejs.org/api/modules.html“通过检查require.main.filename可以获取当前应用程序的入口点。”

关于可能出什么问题的任何想法吗?


当您在本地计算机上运行应用程序时,您可能会执行以下命令

node.exe your_application.js

因此require.main.filename http://nodejs.org/api/modules.html#modules_accessing_the_main_module返回您的应用程序的入口点。

请注意,当您将应用程序部署到 Windows Azure 网站时,您使用iisnode https://github.com/tjanczuk/iisnode- 原生 IIS 7/8 模块,允许在 IIS 7/8 中托管 Node.js 应用程序。因此require.main.filename回报D:\Program Files (x86)\iisnode在 Windows Azure 上。

我建议使用__dirname http://nodejs.org/api/globals.html#globals_dirname模块局部变量(通常与path.join() http://nodejs.org/api/path.html#path_path_join_path1_path2 e.g. var mydir = path.join(__dirname, '..'))以获得所需的目录。

我希望这能解释你的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Azure 上的 require.main.filename 与我本地 Windows 计算机上的 require.main.filename 不同? 的相关文章

随机推荐

  • 在 SQL Server 中将标识列重置为零?

    如何在 SQL Server 中将表的 Identity 列重置为零 Edit 我们如何使用 LINQ to SQL 来做到这一点 DBCC CHECKIDENT MyTable RESEED NewValue 您还可以执行截断表 但是 当
  • += 事件运算符

    public void Bar Foo foo new Foo foo MyEvent foo MyEvent foo FireEvent void foo MyEvent object sender EventArgs e Foo sen
  • Spring Security 5 OAuth2客户端密码授予类型

    我有2个应用程序 Spring应用程序1是客户端和资源服务器 Spring应用程序2是授权服务器 用户将能够登录应用程序 1 并访问其资源 我想实现以下流程 用户在登录表单中输入他的凭据 gt 应用程序 1 将使用用户凭据及其密码从应用程序
  • MFC 中的国际化

    终于 经过多年的推迟 将我的应用程序本地化为英语以外的其他几种语言 第一个挑战是设计与我的 C MFC 应用程序的集成 该应用程序具有数十个对话框和无数字符串 我遇到了两种可能的替代实现 将本地化资源文件编译并部署为 DLL 提取所有字符串
  • PHPCS 未在命令行上运行?

    当我输入 phpcs version 时 我没有得到版本号 而是得到如下内容 Applications drupal php bin phpcs line 2 php No such file or directory Applicatio
  • 使用 PHP 解析 xml 文件的 simpleXML 替代方案

    我只是想知道是否有 simpleXML 的替代方案来使用 PHP 解析 XML 数据 例如 如果 simpleXML 模块未加载 或者即使存在比 SimpleXML 性能更好的库 类 显然有处理 XML 的多种不同方式 http docs
  • 10.3 中包含 javax.servlet 的 WebLogic Jar 在哪里?

    我正在尝试配置我的路径以将 javax servlet 包含在 WebLogic 中 WebLogic 已拆分出 Jar 文件 那么哪一个包含 javax servlet 从 WebLogic 10 开始 BEA 外部化了 API 规范的实
  • 查找 GZIP 文件内的文件大小

    有没有办法找出java中GZIP文件内原始文件的大小 例如 我有一个 15 MB 的文件 a txt 它已被 GZipped 为 3MB 大小的 a gz 我想知道 a gz 中存在的 a txt 的大小 而不需要解压缩 a gz 除了压缩
  • 如何为 Django 设置 Jupyter/IPython Notebook?

    我一直在使用中描述的方法这个帖子 https andrewbrookins com python using ipython notebook with django 用于设置 IPython Notebook 以与 Django 很好地配
  • websocket 是否仅适用于浏览器

    我正在尝试使用第 3 方库编写本机 Objective C 和本机 Android 应用程序 我已经选择了图书馆并且我已经在这方面取得了进展 我团队中的一个人认为 目前 websocket 的实现主要集中在 Web 浏览器上 如果我们使用这
  • Java 中的格式化打印

    我有这个代码 public String toString Day day String s day getDayName day toString return s 这是 Day 类的 toString 方法 public String
  • 根据列值是否在另一列中将列添加到 PySpark DataFrame

    我有一个 PySpark DataFrame 其结构为 u1 1 1 2 3 u1 4 1 2 3 toDF user item fav items 我需要添加另一列 1 或 0 具体取决于 item 是否在 fav items 中 所以我
  • 禁用所有库的日志消息

    我想记录来自我的程序的消息 而不是来自它使用的库的消息 我可以禁用 更改各个库的日志记录级别 如下所示 logging getLogger alibrary setLevel logging ERROR 问题是 我的程序使用了很多很多的库
  • InternetExplorerDriver 的注册表项 HKEY_LOCAL_MACHINE\...\FEATURE_BFCACHE 如何解决 Internet Explorer 11 问题?

    因此 我正在 IE11 中自动化一个 Web 应用程序 为政府合同欢呼三声 并且我按照 Selenium Wiki 上的说明来配置该东西 因为我们遇到了一堆奇怪且不稳定的行为 我在这一步 它说我已经添加了一个注册表项来帮助维护驱动程序和浏览
  • 通过将属性设置为 nil 在 Swift 中再次触发惰性初始化程序

    我想要一个延迟初始化的属性 如果我将属性设置为 nil 我可以再次调用其初始化程序 如果我这样定义我的财产 lazy var object init code 然后调用该属性 初始化程序被触发一次 但是 如果我设置object稍后在我的程序
  • Android - 将图像保存在特定文件夹中

    我需要将使用我的应用程序拍摄的照片保存在特定文件夹中 我已经阅读了这个问题的许多解决方案 但我无法使它们中的任何一个起作用 所以我寻求帮助 MainActivity java public void onClick View v Inten
  • Gnuplot:线条不透明度/透明度?

    我正在使用 Gnuplot 成功绘制一些时间序列数据 然而 该系列相当密集 大约 5 英寸的空间中有 10 000 个样本 当我绘制多个系列时 很难看到绘制在顶部的系列下面的内容 有什么方法可以使线条具有一点不透明度或透明度 即使线条透明
  • PHP、.htaccess、DDoS 和快速请求保护

    我有一个问题 我构建了这个小脚本来检查某个 ip 是否淹没了我的网站 当它出现时 我会拒绝 htaccess 文件中的 IP 我的问题是 有人可以告诉我这个脚本是否完全无用或值得尝试 该脚本在配置文件中调用 因此它在每个页面加载时运行
  • XmlPullParserException 二进制 XML 文件行 #17 标记需要 viewportWidth > 0

    这是这个问题的后续问题 将 Android 支持库更新到 23 2 0 导致错误 XmlPullParserException 二进制 XML 文件行 17 标记需要 viewportWidth gt 0 https stackoverfl
  • 为什么 Azure 上的 require.main.filename 与我本地 Windows 计算机上的 require.main.filename 不同?

    在我的本地机器上 这段代码 var path require path var appdir path dirname require main filename console log appdir 将记录 c sites mysite