问题标签 [craco]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
857 浏览

webpack - Webpack 代码拆分 - 防止构建中重复的 CSS 文件

我已经使用 Create-React-App 3.4.1 版引导我的应用程序,并且正在使用 Craco 5.6.4 版对 CRA 提供的 Webpack 配置进行修改。build/js/main.js由于我无法控制的特定客户期望,我需要最终确定build/css/main.css文件结构。我已经设法使用 Craco 根据需要修改文件输出,除了我最终得到了 CSS 文件的附加副本,其中添加了块哈希。

这是我的craco.config.js

这是我运行时输出的内容yarn build

(是的,CSS 文件目前没有任何规则,这解释了它的小尺寸。)

我的目标是消除创建第二个文件build/static/css/main.0cb9b881.css.

我已经尝试对我的配置进行大量更改,包括https://github.com/webpack-contrib/mini-css-extract-plugin#extracting-all-css-in-a-single-file,但无济于事。我可以使用 MiniCssExtractPlugin 生成我想要的 CSS 文件来指定文件名,并使用标准 Webpackoutput文件名生成单个 JS 包。这是一个非弹出的 CRA 生成的应用程序,所以我猜测内置 Webpack 配置中有一些机制会生成那个额外的文件,我只需要在我的 Craco 配置中覆盖它。如果有人确切知道需要覆盖哪个位,我将非常感谢您的帮助!

0 投票
1 回答
43 浏览

node.js - Monorepo 和构建软件包的问题

我尝试使用 monorepository(工作区)构建模块化 React 应用程序 - 在根文件夹中我有 package.json:

我想将共享/反应组件(例如命名为@shared/react-components)包含到客户端/反应应用程序中,但在我需要编译共享模块之前,在这个地方我得到了令人讨厌的错误: Error: 'default' is not exported by ../../node_modules/deepmerge/dist/cjs.js, imported by src/styles/dark.ts

我在 /node_modules 中可以使用 deepmerge 之前运行了 yarn install。如果我删除工作区配置并运行: yarn install && yarn build in shared/react-components 一切正常,那么问题似乎出在工作区配置中。

shared/react-components 中的构建脚本是:rollup -c

知道可能缺少什么吗?

0 投票
0 回答
907 浏览

javascript - 将 html-webpack-plugin 和 favicons-webpack-plugin 与 craco 一起使用,但不适用于 index.html

您好,感谢您阅读本文。

因此,我想使用html-webpack-pluginfavicons- webpack-plugin 的组合将 favicons的清单和不同分辨率注入我的应用程序。

我正在尝试使用此配置

并且测试导致了奇怪的意外结果。在文档 admin 和 admin2 中,结果是预期的,但在索引上,似乎我的插件被覆盖了。

在此处输入图像描述

我不确定我是否做错了,这是我第一次使用craco。非常感谢你提前

你可以在https://github.com/GunB/PageGroup-Test-0520/tree/1-Layout看到我的仓库

0 投票
0 回答
956 浏览

typescript - 在 docker 中运行时,craco build 在编译 typescript 文件时失败

我需要部署一个 Web 应用程序,内置与打字稿反应。deploy 方法是构建运行 nginx 服务器的 docker 镜像,该服务器为静态构建提供服务,并将其放在 kubernetes 容器中。

构建脚本craco build在本地终端 (macOS) 中运行时可以正常工作。问题是在 docker 映像中运行相同的脚本时,它会返回错误:

routeConfig.ts 文件的标题是

并且Unexpected token : (7:25)是该行中的冒号“:”export const MAIN_ROUTES: IRoute<ROUTE_KEY>[]

我不明白的是它只在 docker 中失败。Dockerfile 是:

使用命令RUN node -v我可以看到该node:12-alpine图像带有节点 12.18.3 版本,而在本地我有 12.14.0

package.json 文件是

craco.config.js 文件是:

我不是网络应用程序专家,我的问题是 docker 映像中可能缺少哪些设置或本地启用的功能,这是造成此错误的原因,我理解为“无法解析最新的打字稿语法”

0 投票
1 回答
900 浏览

reactjs - SyntaxError: Unexpected token < at ScriptTransformer._transformAndBuildScript (../../node_modules/jest-runtime/build/script_transformer.js

我在 monorepo 中使用 CRA (react-scripts v2.1.7) 和 craco v3.5。我在测试库/反应中使用 jest。每当我运行测试时,我都会收到错误消息

我的 tsconfig tsconfig 中有 jsx:“react”:

包.json:

jest.config.json

根级 jest.config.json

在整个网络上,我发现修复程序为 jsx: "react" 但在我的情况下,它已经存在于 tsconfig 中,但它不起作用。

0 投票
1 回答
231 浏览

reactjs - 是否可以在生产构建(webpack / craco)上更改样式表 URI?

在为生产构建构建反应应用程序时,我想将特定样式表链接从“http://127.0.0.1:4000/custom/styles.css”更改为“/custom/styles.css”

可以用 webpack / craco 做到这一点吗?如果有可能我怎么能做到这一点?:)

0 投票
0 回答
21 浏览

reactjs - 使用最少的输出文件将 ReactJS 应用程序添加到任何 HTML 页面

我们有一个小型 ReactJS 应用程序,需要在我们企业的多个不同站点之间共享。这是一个全局导航栏。我们的一些应用程序是 HTML、ASP.Net,甚至是经典的 ASP。我们的方法是简单地允许团队引用我们的 JS 脚本并在页面上抛出一个 div 并让它运行。

我已经开始使用带有 craco 的 create-react-app 来使我们的输出尽可能简单。例如,我们从 JS 文件中删除了哈希名称,因为我们不希望所有团队都必须在每次构建时更新他们的引用。我们正在 S3/Cloudfront 中管理缓存清除。

是否有最佳实践让 React App 输出

为了性能起见,每个文件 1 或 2 个文件就可以了,尽管这些文件一开始就非常小。

我接近了

CSS 文件仍然存在,/build/static/css/vendors.hash.chunk.css所以我mv在构建后使用了一个丑陋的命令将其移动到/build/globalnav.css. 但现在我缺少图标字体。

0 投票
1 回答
3109 浏览

reactjs - React craco 顺风 postcss 集成

我的项目使用 craco 启动/构建,我希望集成 tailwind postcss。我已经按照本教程https://dev.to/ryandunn/how-to-use-tailwind-with-create-react-app-and-postcss-with-no-hassle-2i09 但结果,我很痛苦出现此错误: 错误

我的配置文件如下所示:

craco.config.js (这个看起来像问题所在,因为我觉得样式可能会覆盖下面的 craco 样式,所以它导致了上述错误,但不是 100% 确定如何解决这个难题。)

craco.config.js 完整版

postcss.config.js

tailwind.config.js

我正在运行应用程序

有什么建议可以修复错误和配置吗?请提供一些代码示例提前谢谢

0 投票
1 回答
3285 浏览

javascript - 如何将 webpack 样式加载器随机数属性添加到 craco 配置

我正在尝试将 webpack style-loader nonce 属性添加到craco 配置文件中,用于 create-react-app,如下所示:

但这没有用。有没有人可以用craco实现这一点以及如何实现?

0 投票
1 回答
1640 浏览

reactjs - 将 'craco' 与 'less' 和 'postcss' 一起使用

我用craco来自定义配置。我想用lessmodule和postcss一些postcss插件,但是遇到了很多问题

craco.config.js

它似乎没有生效。

然后我尝试以不同的方式使用它

它仍然不起作用。接下来我该怎么办?