【问题标题】:Using NPM packages in NEST JS which doesnt have Nest specific package在没有 Nest 特定包的 NEST JS 中使用 NPM 包
【发布时间】:2021-06-07 05:28:24
【问题描述】:

在我的 Nest js 应用程序中,我想添加没有任何特定于嵌套实现的库。 例如Sharp或jimp。

我已经在我的项目中添加了这些

npm i jimp.

并像这样在我的代码中导入。

import Jimp from 'jimp';

当我在本地构建和服务时它工作正常,但是当我从 docker 提供它并构建生产版本时,我收到以下错误:

> planiac@0.0.0 serve /app
backend_1  | > node dist/apps/api/main.js
backend_1  | 
backend_1  | internal/modules/cjs/loader.js:965
backend_1  |   throw err;
backend_1  |   ^
backend_1  | 
backend_1  | Error: Cannot find module 'jimp'
backend_1  | Require stack:
backend_1  | - /app/dist/apps/api/main.js
backend_1  |     at Function.Module._resolveFilename (internal/modules/cjs/loader.js:962:15)
backend_1  |     at Function.Module._load (internal/modules/cjs/loader.js:838:27)
backend_1  |     at Module.require (internal/modules/cjs/loader.js:1022:19)
backend_1  |     at require (internal/modules/cjs/helpers.js:72:18)
backend_1  |     at Object.<anonymous> (/app/dist/apps/api/main.js:2687:18)
backend_1  |     at __webpack_require__ (/app/dist/apps/api/main.js:20:30)
backend_1  |     at Object.<anonymous> (/app/dist/apps/api/main.js:1874:62)
backend_1  |     at __webpack_require__ (/app/dist/apps/api/main.js:20:30)
backend_1  |     at Object.<anonymous> (/app/dist/apps/api/main.js:3423:73)
backend_1  |     at __webpack_require__ (/app/dist/apps/api/main.js:20:30) {
backend_1  |   code: 'MODULE_NOT_FOUND',
backend_1  |   requireStack: [ '/app/dist/apps/api/main.js' ]
backend_1  | }

【问题讨论】:

    标签: node.js typescript nestjs sharp jimp


    【解决方案1】:

    在您的 Docker 中,您的 node_modules 中似乎没有加载 jimp。尝试使用--save 选项运行npm i jimp,以便将包保存到package-lock.json,并确保您的Docker 构建运行npm install(因为您使用的是Nest,它可能已经这样做了)

    【讨论】:

      猜你喜欢
      • 2019-05-14
      • 2021-05-05
      • 2018-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-14
      • 2018-11-03
      相关资源
      最近更新 更多