【问题标题】:Error: Cannot find module './abc/xyz.js on dev env错误:在开发环境中找不到模块 './abc/xyz.js
【发布时间】:2020-09-07 20:47:47
【问题描述】:

我终于完成了我的 NodeJs 机器人并将其部署在 Digital Ocean Droplet 上。

克隆 git repo 和 npm install 后,我尝试运行 node my-index-file.js 并收到此错误:

Error: Cannot find module './abc/xyz.js'

这是完整的错误: 这是我第一次在生产环境中部署项目,所以我认为它必须与 ubuntu 机器上的路径与我的 PC 上的路径有关。

该应用程序在我的电脑上完美运行。

我已将它安装在 root/my-project-folder 上,我认为这也不是最佳做法,但目前这并不重要。

编辑 1

这是来自node my-index-file.jsrequires

const brandsUrl = require('./URLs.json')
const prepareDataFormat = require('./api/prepareDataFormat')
const WooCommerceApi = require('./api/Api.js')
const {checkIfScrapped , getCategory, getTags} = require('./helpers/getCategory')

这是 Droplet 的 ls -l 输出:

还有ls -lapi 文件夹中:

【问题讨论】:

    标签: node.js ubuntu unix deployment


    【解决方案1】:

    根据问题的可用描述和给定的错误文本,我们可以假设项目通过指定的路径和描述的名称引用文件,但在那里找不到。也许文件本身丢失了。文件的名称或路径可能拼写不正确。查看指定的文件夹以检查它。如果还是不明白原因,请提供文件夹内容相对于当前文件的截图。

    更新: 收到新截图后的回复。可以看到,“api”和“Api”是不同的。

    const WooCommerceApi = require('./api/Api.js')
    

    不一样

    const WooCommerceApi = require('./api/api.js')
    

    可能需要将文件api.js重命名为Api.js

    【讨论】:

    • 问题是,它在我的 PC 上完美运行,所有文件都已到位。我会截取一些截图。
    • 哇,太尴尬了……非常感谢!我猜出于某种原因,我的电脑对 ubuntu 机器所在的位置不敏感。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    • 2019-03-13
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    相关资源
    最近更新 更多