当前位置: 首页 > 知识库问答 >
问题:

javascript - 为何 vite lib 打包 react 组件出现 dev 跟 prod 两个 Runtime?

潘璞瑜
2023-12-15

我尝试使用 vite 的 lib 模式打包一个 react 组件,vite 配置如下:

import { defineConfig } from "vite";export default defineConfig({    mode: "production",    plugins: [        react()    ],    build: {        outDir: "dist",        lib: {            entry: "./src/UI.tsx",            name: "AppText",            formats: ['es'],            fileName: format => `index.${format}.js`        },        rollupOptions: {            external: ["react"],            output: {                globals: {                    'react': "React"                }            }        },    }})

打包出来似乎有两个 Runtime "react-jsx-runtime.development.js" 跟 "react-jsx-runtime.development.js",按照语义来说,我使用的是 "vite build",应该不是打包 dev runtime 才对的,不知道为何两个都打包了,求教!!!

image.png

共有1个答案

寇坚成
2023-12-15

因为lib是给别人调用的库,别人调用时如果是dev模式,那么用打包出的dev模式库才能有开发时的调试功能

 类似资料:
  • config.js里怎么配置,配置好后又怎么知道打的包是开发环境的包还是生产环境的包? app是不是不能打包?有人试过么?

  • vite打包后有个js报错,但是这种没办法看到底什么原因,有什么办法可以看到是什么原因嘛 问题是我打开了sourcemap了,也生成了sourcemap了,但是生成个这个是什么鬼

  • 问题内容: 我有一个用Maven生成的Java EE 6应用程序,在NetBeans 7中编码,并部署在GlassFish 3.1.2上。当我快要完成时,我发现自己正在部署演示版本。 问题是,我没有针对不同环境(如dev,QA,demo,prod等)构建的简单方法。对于某些东西,我一直在使用Java类,该类具有大量返回的静态getter值基于环境常数的值。但这对我有条件设置没有帮助 javax.f

  • 我一直在尝试一些组件,这些组件执行react-cache风格的事情,并在render方法中执行web服务调用,将promise抛出到React.Suspense组件,并在数据存在时重新呈现。它们调用web服务,检查响应,并根据响应呈现或抛出错误到错误边界。我注意到,每当在组件中抛出错误时,它都会呈现两次。第一次callstack看起来正常,第二次callstack包括对invokeGuardedC

  • 问题内容: 我想创建一个Dockerfile,它将能够构建三个不同的映像(此刻一个)。这些映像仅在配置文件中有所不同。 我正在尝试: 创建三个不同的Docker文件(不起作用,因为dockerfile需要命名为Dockerfile并且位于上下文根目录中 寻找一种将参数传递给docker build命令的方法-找不到 使用ONBUILD命令-我创建了一个主文件和三个特定的文件,它们将特定的conf文

  • react class组件在componentDidMount中调用初始化接口,有些时候会调用两次,通过断点发现顺序是componentDidMount->componentWillUnmount->componentDidMount,但不能稳定复现,调用的组件是页面的主入口,并非某个组件的子组件,请问有知道这个问题的么?