从其他项目文件导入类时,Monorepo 避免(找不到模块“lib”)

伊曼纽尔

我使用类型/接口/类从/后端文件夹/前端夹在我的简单monorepo,但我的前端不要有一些后端库有一种方法可以在使用一些库没有错误文件中定义的进口类找不到模块“ libname',而不创建不导入任何库第三个文件共享文件夹

当前文件夹结构示例

/root

  /backend
    /models/alternative.model.ts

  /frontend
    /components/frontend.component.ts

示例后端文件alternative.model.ts

import { ObjectType } from '@nestjs/graphql';
import { BaseModel } from '../../common/models/base.model';
import { Exercise } from '../exercise/exercise.model';

@ObjectType()
export class Alternative extends BaseModel {
  text: string;
  isAnswer: boolean;
  exerciseId: string;
  exercise: Exercise;
}

示例前端导入frontend.component.ts

import { Alternative } from '../../../../../../backend/src/cases/alternative/alternative.model'

构建时的示例导入错误

../backend/src/cases/alternative/alternative.model.ts:1:46
Type error: Cannot find module '@nestjs/graphql' or its corresponding type declarations.

共享类文件跨项目 monorepo

伊曼纽尔

我的解决方法是在尝试构建前端之前在后端安装所有依赖项

我正在使用 docker,这是我的示例 dockerfile(nextjs 前端)

FROM node:lts-alpine AS deps
WORKDIR /app
COPY . .
WORKDIR ./backend
RUN npm install
WORKDIR ../frontend
RUN yarn install --frozen-lockfile

FROM node:lts-alpine AS builder
ENV NODE_ENV=production
WORKDIR /app
COPY . .
WORKDIR ./backend
COPY --from=deps /app/backend/node_modules ./node_modules
WORKDIR ../frontend
COPY --from=deps /app/frontend/node_modules ./node_modules
RUN yarn build

FROM node:lts-alpine AS runner
WORKDIR /app
ENV NODE_ENV=production
COPY --from=builder /app/frontend/next.config.js ./
# COPY --from=builder /app/frontend/public ./public
COPY --from=builder /app/frontend/.next ./.next
COPY --from=builder /app/frontend/node_modules ./node_modules
CMD ["node_modules/.bin/next", "start"]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

找不到模块'vuetify / lib / framework'的声明文件

导入.jsx文件时找不到模块

找不到导入的模块?

无法从其他项目导入本地项目:找不到提供包<package_name>的模块

从crontab调用scrapy项目时如何避免“找不到模块”错误?

找不到模块文件

导入嵌套模块时找不到模块

Intelij:无法从项目中的其他模块导入类吗?

将Typescript应用程序发布到Azure时找不到模块'../lib/tsc.js'

错误:使用Ionic时找不到模块'../lib/utils/unsupported.js'

错误:尝试扩展tslint-microsoft-contrib时找不到模块'tslint / lib / lint'

找不到Vue模块导入

sftp避免在找不到文件时退出

打字稿-导入模块-找不到模块

找不到模块,指向文件

导入模块时找不到 ts 文件中的函数

使用Webpack时找不到导入模块的字体文件

导入CSS文件时的流程“找不到所需的模块”

导入svg文件时,打字稿找不到模块

引用外部打字稿文件时,如何避免出现“找不到模块:错误:无法解析'tslib'”错误?

导入 Pyspark Delta Lake 模块时找不到模块错误

导入时Webpack找不到图像-找不到模块

如何避免找不到文件(WinError 3)?

“从模块导入类”从同一模块导入其他类

Lombok @Builder 在其他模块中找不到的 Gradle 模块中生成的类

Android Studio中的导入模块找不到导入的类

找不到iTunes 0.4的源文件lib

编译器找不到.lib文件

pub服务找不到lib下的文件