如何获取Meteor包中文件的路径?

2023-12-12

我知道怎么做从 Meteor 包中获取当前目录,但是如何获取项目中特定文件的路径呢?

node's __dirname and __filename在流星中不起作用。


这很复杂。

  1. meteor run将您的项目文件复制到内部的目录树中<project-dir>/.meteor/local/build,以非显而易见的方式重新组织它们(例如,原始树中的私有子目录成为资产子目录)并将其与各种npm模块混合以创建可以作为nodejs项目执行的包。事实上,为了避免重复,在 .meteor 目录中自动设置了一个 .gitignore 文件,它告诉 git,如果你用它进行版本控制,不要复制 .meteor/local 目录。

  2. 如果您更改文件,则会监视原始项目目录。然后,更改将被复制到当前项目构建目录中并重新构建项目。

  3. 如果部署到远程系统,构建将被复制到服务器然后运行。

process通常是一个定义的全局服务器端对象,并根据node.js API工作,因为meteor服务器代码最终运行在node.js中。

所以你可以运行console.log(process.cwd());在服务器端获取服务器进程的当前工作目录,通常类似于:

~/<meteor project directory>/.meteor/local/build/programs/server

这表明当meteor run是在本地完成的,原始项目文件位于../../../../../,但不要使用它,因为它将来可能会改变。

相反,对于包含原始项目文件的目录,您可以使用:

baseDir = process.cwd().replace(/\/\.meteor.*$/, '');

这将获取工作目录,并截断以/.meteor

不过,这不适用于服务器部署,因为服务器上不需要原始项目树,只需要构建。不打算成为客户端或服务器代码的文件可能会被困在私有子目录中,正如我提到的,它成为构建中的资产子目录。当前在构建中查找文件的方法是在本地运行中手动检查 .meteor/local,或者使用调用或模仿 gnu find 的 JS 库。

既然你提到了packages,我注意到在构建中,服务器端包代码最终以:

~/<project-dir>/.meteor/local/build/programs/server/packages

和客户端:

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

如何获取Meteor包中文件的路径? 的相关文章

随机推荐

  • 删除指针有时会导致堆损坏

    我有一个使用自定义线程池类运行的多线程应用程序 这些线程都执行相同的函数 但参数不同 这些参数通过以下方式传递给线程池类 jobParams is a struct of int double etc jobParams params ne
  • 在 macOS 上安装 data.table

    我需要在 macOS 11 1 上安装 data table 1 12 0 特别是 我收到错误 clang error unsupported option fopenmp make assign o Error 1 我已按照以下说明进行操
  • 在自身内部定义结构对象时出现问题

    这有效 struct LD 32 struct LD 32 ld 但这并没有 struct LD 32 struct LD 32 ld 为什么是这样 正如 pmg 猜测的那样 我将其编译为 C 代码 已编辑 C 中的结构体不能包含类型不完整
  • SLComposeViewController 共享教程 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 使用 iOS 6 的新功能需要遵循哪些步骤SLComposeViewController发布到 Facebook Twitter 或新浪微博 有关此框架的详细信息 请参阅 Apple
  • Gtk.TreeView 中的 Gtk.Entry (CellRenderer)

    我想打包一个Gtk Entry with Gtk EntryCompletion连接 到一个单元格中Gtk TreeView 有谁知道如何做到这一点 我只需要在表格视图中完成文本输入的输入 我是否需要子类化Gtk CellRenderer
  • 如何以编程方式关闭 iPhone 应用程序中的所有其他应用程序?

    是否可以在我自己的应用程序中以编程方式关闭 iPhone 上除我自己的应用程序之外的所有正在运行的应用程序 如果是这样 怎么办 不可以 所有应用程序都在沙箱中运行 因此您无法在它们之间进行通信 即使你在技术上可以 这也会被认为是不好的做法
  • 提交表格给自己

    目前 我有一个带有输入 文本 和一个提交表单的按钮的表单 该表格被发布到 submit php 我希望将表格发布到与表格相同的页面 我怎样才能做到这一点
  • 使用 boost::spirit::x3 从 std::string 解析为 boost::string_view

    In my 我之前的问题有人建议我的表现boost spirit x3可以通过解析为来改进解析器boost string view使用raw指示 但是 我很难编译它 这是我发现的 Before x3 一个人必须专攻assign to att
  • JAXB:第三方或外部超类上的 @XmlTransient

    我需要有关 JAXB 2 1 的以下问题的一些帮助 示例 我创建了一个扩展抽象类 Person 的 SpecialPerson 类 现在我想使用 JAXB 将对象结构转换为 XML 模式 因此 我不希望 Person XML 类型出现在我的
  • onload() 和 $.ready 之间的区别?

    你能列出之间的区别吗onload and document ready function 使用 jQuery 中的函数 the load窗口和 或主体元素上的事件 又名 onload 将触发一次all页面内容已加载 这包括所有图像 脚本等
  • 解析 Excel 文件并读取单元格

    我有一个excel文件 我已经上传了截图 我需要编写一个 NET应用程序 控制台应用程序 来解析excel文件 您可以看到一个标题为 函数名称 的单元格 我的 NET 应用程序应该找到该特定单元格并读取该列中的内容 例如模板 Instanc
  • 如何在javascript中获取服务器时区

    我想在 Javascript 中设置不同的时区 当前它显示本地计算机或客户端 PC 日期 时区的日期和时区 Regards Javascript 是一种客户端语言 不会以这种方式与服务器交互 您需要从服务器端平台获取该数据 下面是一些 PH
  • 在空 JTextField 中按下退格键时禁用蜂鸣声

    初学者在这里 有谁知道一种快速简便的方法 可以让 JTextField 在按下退格键且字段为空时不发出蜂鸣声 我在网上看到了一些关于更改 DefaultEditorKit 的内容 但我无法理解 任何帮助将不胜感激 这段代码对我有用 Acti
  • AdSense IAB TCF 错误 3.3:如何删除旧字符串并重新获得同意

    我的网站已经上线几年了 使用 AdSense 及其集成的 GDPR 内容功能 即在 IAB TCF 术语中 Google 充当 CMP 在过去的几周里 我收到了以下消息 我们检测到您的一个或多个网站或应用程序上的 IAB TC 字符串存在问
  • 为什么java无法从死锁中恢复?

    我正在读 Java Concurrency in Practice 一书 里面是关于死锁的内容 JVM无法从死锁中恢复 只有摆脱死锁的方法 lock就是重启服务器 还提到了JVM使用graph 搜索其中线程充当两个线程 A 之间的图节点和边
  • Oracle SQL - 识别顺序值范围

    这是我的桌子 ID Name Department 1 Michael Marketing 2 Alex Marketing 3 Tom Marketing 4 John Sales 5 Brad Marketing 6 Leo Marke
  • 调用窗口加载事件 - javascript

    我将尽力在这里不使用 jsfiddle 清楚地解释我的问题是什么 因为 window on load 不会在他们的 IDE 中触发 我有一个 html 包装器 它动态加载 ajax html 到div content div class h
  • 在 ASP.NET MVC 3 中添加您自己的 HtmlHelper

    我是 MVC 新手 我正在尝试创建自己的扩展方法 以便我可以添加到我的 razor 视图中可用的 html 帮助器中 Html DropDownListFor 允许您为模型上的任何属性创建下拉列表 我想创建一个名为的助手Html State
  • 替换 jQuery 中选定的 HTML 文本

    我有这个代码用于替换选定的文本 它在选定的文本之前和之后放置 1 和 2 var content text html if window getSelection not IE case var selObj window getSelec
  • 如何获取Meteor包中文件的路径?

    我知道怎么做从 Meteor 包中获取当前目录 但是如何获取项目中特定文件的路径呢 node s dirname and filename在流星中不起作用 这很复杂 meteor run将您的项目文件复制到内部的目录树中