• NestJs和Vite使用monorepo管理项目中,需要使用共享的文件夹步骤


    NestJsVite使用monorepo管理项目中,需要使用共享的文件夹步骤

    在这里插入图片描述

    1 首先需要将nest-cli打包的功能通过webpack接管

    nest-cli.json文件内容

    {
      "$schema": "https://json.schemastore.org/nest-cli",
      "collection": "@nestjs/schematics",
      "sourceRoot": "src",
      "compilerOptions": {
        "webpack": true,
        "deleteOutDir": true,
        "tsConfigPath": "./tsconfig.build.json"
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    根目录创建webpack.config.js文件. 使用nest-cli创建项目时, 已经安装了webpack的基本模块,因此可以直接使用
    在这里插入图片描述
    文件内容, 就按照下面的内容进行修改即可

    const path = require("path")
    const webpack = require("webpack")
    const CopyPlugin = require("copy-webpack-plugin")
    
    const sharedDirPath = path.resolve(__dirname, "../shared")
    module.exports = {
      entry: "./src/main.ts",
      watch: true,
      target: "node",
      module: {
        rules: [
          {
            test: /\.ts?$/,
            use: "ts-loader",
            exclude: /node_modules/
          }
        ]
      },
      mode: "development",
      resolve: {
        extensions: [".tsx", ".ts", ".js"],
        alias: {
          "@shared": sharedDirPath
        }
      },
      plugins: [
        new webpack.HotModuleReplacementPlugin(),
        new CopyPlugin({
          patterns: [
            {
              from: sharedDirPath,
              to: "shared"
            }
          ]
        })
      ],
      output: {
        path: path.join(__dirname, "dist"),
        filename: "main.js"
      }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    注意copy-webpack-plugin的版本需要指定, 这里webpack的版本是5.73.0安装copy-webpack-plugin@9.1.0即可
    pnpm add copy-webpack-plugin@9.1.0 -D, 不然会出现奇奇怪怪的问题

  • 相关阅读:
    随笔 | 写在十一月的第一天
    Java ByteArrayOutputStream.toString()方法具有什么功能呢?
    CleanMyMac X2022软件包最新mac电脑系统清洁器
    Python之zipfile模块
    (原创)Lottie动画使用介绍
    BusyBox编译时选择合适的编译器
    分库分表实战
    76.【图】
    Rust插件连接失败
    POI报表的高级应用
  • 原文地址:https://blog.csdn.net/weixin_43972992/article/details/133359403