首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为我的CRA typescript项目中的几乎每个文件创建‘'dist’文件夹

基础概念

dist 文件夹通常用于存放编译后的代码,这些代码是经过构建工具(如 Webpack、Parcel 等)处理后的最终产物,可以直接部署到服务器上供浏览器使用。在 CRA(Create React App)项目中,默认情况下,构建过程会生成一个 build 文件夹,而不是 dist 文件夹。

相关优势

  1. 组织结构清晰:将编译后的代码与源代码分开,有助于保持项目结构的清晰。
  2. 部署方便dist 文件夹中的代码已经过优化,可以直接部署到服务器上。
  3. 版本控制:通常不会将编译后的代码纳入版本控制系统(如 Git),这样可以减少仓库的大小。

类型

  • 构建工具生成的文件夹:如 Webpack 的 dist 文件夹。
  • 手动创建的文件夹:用于存放特定编译或打包后的文件。

应用场景

在 CRA 项目中,如果你希望将编译后的代码放在 dist 文件夹而不是默认的 build 文件夹,可以通过修改构建配置来实现。

如何创建 dist 文件夹

  1. 修改 package.json 中的脚本
代码语言:txt
复制
"scripts": {
  "build": "react-scripts build && mv build dist"
}

这个脚本会在构建完成后将 build 文件夹重命名为 dist

  1. 使用自定义 Webpack 配置

CRA 允许你通过 react-app-rewiredcustomize-cra 来自定义 Webpack 配置。

首先,安装依赖:

代码语言:txt
复制
npm install react-app-rewired customize-cra --save-dev

然后,在项目根目录下创建 config-overrides.js 文件:

代码语言:txt
复制
const { override, addWebpackAlias } = require('customize-cra');
const path = require('path');

module.exports = override(
  addWebpackAlias({
    '@': path.resolve(__dirname, 'src'),
  }),
  (config) => {
    config.output.path = path.resolve(__dirname, 'dist');
    return config;
  }
);

最后,修改 package.json 中的脚本:

代码语言:txt
复制
"scripts": {
  "start": "react-app-rewired start",
  "build": "react-app-rewired build",
  "test": "react-app-rewired test",
  "eject": "react-scripts eject"
}

可能遇到的问题及解决方法

  1. 文件夹不存在

如果你在构建过程中遇到 dist 文件夹不存在的问题,确保你的构建脚本或配置文件正确无误。

  1. 权限问题

在某些操作系统上,可能会遇到权限问题导致无法创建或重命名文件夹。确保你有足够的权限来执行这些操作。

  1. 构建失败

如果构建失败,检查控制台输出的错误信息,通常会提示具体的问题所在。常见的错误包括依赖缺失、配置错误等。

参考链接

通过以上步骤,你应该能够在 CRA TypeScript 项目中成功创建 dist 文件夹,并将编译后的代码存放在其中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

TypeScript在react项目中实践

TypeScript在react项目中实践 前段时间有写过一个TypeScript在node项目中实践。 在里边有解释了为什么要使用TS,以及在Node中一个项目结构是怎样。...config 各种配置存放位置,类似请求接口host或者各种状态map映射之类(可以理解枚举对象们都在这里) utils 一些公共函数存放位置,各种可复用代码都应该放在这里 dist...) dll是一个很早之前套路了,大概需要修改这么几处: 创建一个单独webpack文件,用于生成dll文件 在普通webpack文件中进行引用生成dll文件 // dll.js { entry...关于ESLint配置文件.eslintrc,在本项目中存在两份。...已经更新了之前typescript-exmaple 在里边添加了本次重构所使用一些前端TS+React示例,还包括针对@Render一些兼容。

1.8K30
  • 写给前端新人:从 0到1 搭建一个前端项目,都需要做什么?

    【master 分支:完整版,不包含 typescripttypescript-react 分支: 包含 typescript 完整版本】 一、项目启动 了解需求背景 了解业务流程 二、项目搭建初始化...安装 $ yarn add react-app-rewired customize-cra -D 修改 package.json 中启动 // package.json "scripts": {...修改打包出文件夹名为 dist // 修改打包路径除了output,这里也要修改 const paths = require('react-scripts/config/paths') paths.appBuild...(c|le|sa)ss 样式表文件,使用上 typescript目中要注意: const styles = require('....六、题外话 基于 create-react-app 创建 React 项目,本人实现了一个脚手架,以上配置默认已经全部加入实现,欢迎 Github 试用并 star 。

    5.1K50

    创建 React 应用 7 种方式,你用过几种?

    cd my-app npm start 还可以选择 typescript 模板 npx create-react-app my-app --template typescript 项目是零配置,在...因此社区中提供了一些可配置 cra 方案,craco、react-app-rewired craco 可配置 cra 这里以 craco 例,首先需要安装 @craco/craco yarn add...创建一个名为 src 文件夹,所有源代码都放在该目录下,在src目录下,创建index.js文件,该文件也就是 webpack 构建入口文件 import React from 'react' import...在项目中,您可以编写 react 组件,例如,您可以在 src/pages 目录下创建一个 Home.js 文件. import React from 'react' function Home()...以 StackBlitz 例 StackBlitz 是一个在线开发环境,它可以帮助开发者快速创建、运行和分享前端项目, 并且支持协作开发。

    7.1K10

    快将你 React 应用迁移到 Vite 吧,速度太快啦

    我们可以迁移到 Vite,而不是使用 CRA创建 React App。Vite 是下一代前端工具,可以更快地构建应用程序。...对 TypeScript、JSX、CSS 等具备开箱即用支持。 支持多页面构建。 具有完整 TypeScript 类型 API。 支持 React、Vue、Preact、Svelte。...Vite 比 CRA 快多少? Vite 基于 esbuild,它是用 Go 编写,并且预构建 bundle 依赖速度比基于 JavaScript bundler 快 10-100 倍。...已将现有的基于 CRA 应用程序迁移到 Vite。让我们比较一下差异。 CRA 开发服务器启动时间 VS Vite 开发服务器启动时间 CRA 用了 12 秒来启动开发服务器。...将 文件夹 public 中 index.html 文件移动到根目录。

    1.3K20

    「React TS3 专题」从创建第一个 React TypeScript3 项目开始

    1、创建文件夹 首先我们手动创建一个文件夹manually,然后在manually下创建src源文件文件夹和发布环境用dist文件夹 mkdir manually cd manually mkdir...id=rootdiv中,所有的JS内容都会编译成一个bundle.js,存在dist文件夹中。...这里输出目录是 dist,编译后文件名是 bundle.js devServer:设置 webpack 开发服务器,根目录是 dist 文件夹,并通过端口9000进行访问 10、最终项目文件夹 如果你顺利到了这一步...文件夹里,多出来了一个 bundle.js 文件: npm run build bundle.js 会将用到依赖和我们 react 组件代码都编译压缩成一个文件。...今天内容就到这里,我们学习了如何使用 create-react-app 和 手工两种方式创建 React TypeScript3目。

    2.2K10

    webpack教程:如何从头开始设置 webpack 5

    webpack 可以看做是模块打包器:它做事情是,分析你项目结构,找到JavaScript模块以及其它一些浏览器不能直接运行拓展语言(Scss,TypeScript等),并将其打包合适格式以供浏览器使用...内部webpack代码和第三方扩展使用插件,有一些主要方法几乎每个webpack项目都会用到。 HTML 模板文件 目前,我们有一个随机bundle文件,但它对我们还不是很有用。...文件夹现在包含一个index.html,里面也自动引入了我们打包好 js 文件。...Clean 我们还需要设置clean-webpack-plugin,在每次构建后清除dist文件夹所有内容。 这对于确保不遗留任何旧数据很重要。...想使用这三种方法——在Sass中编写,在PostCSS中处理,以及编译到CSS。这需要引入一些加载器和依赖

    2.2K10

    基于 TS React 模板项目,集成 eslint sass,采用 StandardJS 代码风格,包含自动注册组件等各项功能,新建项目或 React 学习必备

    react-typescript-sass-standard-template 项目简介 由于 Create React App 脚手架创建项目过于简陋,没有集成诸如 eslint 等工具,致使每次在开发...仓库地址:https://github.com/fengcms/react-typescript-sass-standard-template 构建思想 css 和 js 分离。...很不喜欢在 js 中写 css。所以,在项目中构建了 style 文件夹,所有的 scss 文件均放在此处。然后在项目入口中加以引用,即可。...如要新增更多别名,要同时维护 config-overrides.js 文件和 tsconfig.paths.json 文件。 生产代码编译目录调整 /dist 目录。...因此,需要大家用一定规则去组织文件夹以及文件,这样才能不乱。 这样搞得好处是,无需其他配置,即可在 scss 文件中使用混入、引用等各种高级特性了。

    1.8K20

    TypeScript 渐进迁移指南

    最大问题是没有提供迁移大型项目的解决方案。 显然,大型项目不可能在短时间内重写一切。因此,很想分享下最近学到迁移项目到 TypeScript 主要经验。...你暗暗发誓,一定要把整个项目迁移到 TypeScript。但是看了看 lib、util、components 文件夹里上万个 JavaScript 文件,你对自己说:「等以后吧,等我有空时候。」...那你就需要通过创建 d.ts 文件增补模块定义,建议创建一个 types 文件夹,加入自己类型定义。然后就可以享受类型安全检查了。...类型检查升级 修复 95% 以上类型检查错误并确保每个库都有相应类型定义后,你可以进行最后一步:正式把整个项目的代码迁移到 TypeScript。 注意:上一篇指南中提到一些细节这里就不讲了。...注意,dist 需要改成你实际使用目录。 结语 恭喜,代码现在迁移到了 TypeScript,有严格类型检查保证。

    1.9K20

    React、TypeScript、NodeJS 和 MongoDB 搭建 Todo App

    代码编译成纯 JavaScript 后,dist 目录将用作输出文件夹。 我们还有一个 app.ts,它是服务器入口。控制器、类型和路由也在它们各自以它们命名文件夹中。...dist/js 文件夹 rootDir: 告诉 TypeScript 编译 src 文件夹每个 .ts 文件 include: 告诉编译器包含 src 目录和子目录中文件 exclude:...在编译时会排除数组中文件文件夹 现在我们安装依赖,使项目可以使用 TypeScript。...用 React 和 TypeScript 创建客户端 构建 为了创建一个新 React 应用,将会使用 create-react-app ——你可以用其他你想用方法。...最值得注意是 src/type.d.ts 被用来存放类型。几乎每个文件中都使用了它们,所以我添加了扩展 .d.ts ,使类型全局可用。现在我们不再需要导入它们。

    17K30

    类型即正义:TypeScript 从入门到实践(序章)

    成功创建一个 TypeScript 版本 React 应用! 提示在下文中,为了简化语言,我们统一称 TypeScript TS。...替换 react-scripts 之后,我们 package.json 文件应该是下面的样子: // ......修改配置 安装完依赖之后,我们要确保对应改写 CRA 流程配置生效,我们需要根据 react-app-rewired 文档说明在根目录下建立 config-overrides.js 文件,并在其中编写如下内容...项目中对应 src/App.tsx 中即可。...所有的准备工作已经就绪,在开始下一节真正 TS 学习之前,我们先来回顾一下我们在这个小节中所完成工作: 使用 CRA TypeScript 脚本初始化了一个 TS 版 React 项目 安装了

    1.5K20

    前端工程化_知识点精讲

    「辅助工具模块」配置 定制符合团队内部规范「目录结构与通用业务模块」 业务组件库 辅助工具类 页面模板 我们简单CRA配置一个最简单模板。... CRA 创建自定义模板 作为一个最简化 CRA 模板,模板中包含如下必要文件 README.md:用于在 npm 仓库中显示「模板说明」 package.json:用于描述模板本身「元信息」,...例如名称、运行脚本、依赖包名和版本等 template.json:用于描述基于模板创建目中 package.json 信息 template 目录:用于「复制」到创建目中,gitignore...但不管它是如何被创建每个chunk在dist目录下「都会有一个对应文件」。...这也意味着当bug出现和事故发生时,代码可以自动回滚,而不会干扰到其他团队项目开发。 「清晰所有权」在大型项目上是必要。在大型项目中,如果某个功能不被维护,那几乎就像它不存在一样。

    1.8K20

    Vite:下一代前端构建工具快速上手

    命令创建一个新 Vite 项目。...这里以创建一个 Vue 项目例:create-vite my-vite-project --template vuecd my-vite-project这将初始化一个基于 Vue 3 Vite 项目...构建生产版本当准备部署应用时,运行以下命令构建生产版本:npm run build# 或者使用 yarnyarn build这将生成一个优化过、可用于生产静态文件夹,通常位于 dist 目录下。...// 额外Rollup配置 rollupOptions: { // 可以在这里添加Rollup配置 },});Vite 核心特性快速启动:Vite 利用浏览器原生 ES 模块支持...TypeScript支持:如果项目中使用TypeScript,Vite已默认支持,你只需在项目中包含.ts或.tsx文件即可。优化:学习如何利用Vite内置优化选项和外部插件,进一步提升应用性能。

    16910

    Vite:下一代前端构建工具快速上手

    使用 create-vite 命令创建一个新 Vite 项目。...这里以创建一个 Vue 项目例: create-vite my-vite-project --template vue cd my-vite-project 这将初始化一个基于 Vue 3 Vite...构建生产版本 当准备部署应用时,运行以下命令构建生产版本: npm run build # 或者使用 yarn yarn build 这将生成一个优化过、可用于生产静态文件夹,通常位于 dist...// 额外Rollup配置 rollupOptions: { // 可以在这里添加Rollup配置 }, }); Vite 核心特性 快速启动:Vite 利用浏览器原生...TypeScript支持:如果项目中使用TypeScript,Vite已默认支持,你只需在项目中包含.ts或.tsx文件即可。 优化:学习如何利用Vite内置优化选项和外部插件,进一步提升应用性能。

    10410

    2019年,React 开发者应该掌握 22 种神奇工具

    我们当中有些人可能不知道如何用 CRA创建一个 TypeScript 项目。...我们要做就是在末尾加上 typescript: npx create-react-app --typescript 这会帮我们省去给 CRA 项目手工添加 TypeScript 麻烦。...它提供了很多友好图形界面, React 开发人员一些典型任务项目提供支持。例如创建新项目,执行任务和管理依赖。...它会扫描项目中组件,并且可以实现以下功能: 用属性、上下文和状态任意组合下渲染组件 模拟每个外部依赖(例如 API 响应、localStorage 等) 与正在运行实例进行交互时,查看应用程序状态实时变化...不确定为什么提到这个网站的人不多,但在这个页面发现了几乎所有需要信息,它快捷、方便,并不断更新,总是能为所有的项目提供所需结果。

    2.4K21

    会写 TypeScript 但你真的会 TS 编译配置吗?

    最近遇到了挺多涉及到前端“编译”方面的工作,其中关于 TypeScript 编译会涉及到关于 tsconfig.json 文件配置,由于配置繁杂,遂逐一解析并验证,减少大家一些疑惑,并提升工作效率...tsconfig 基础配置,并通过显示声明编译目标代码版本 ES2016 来覆盖覆盖 @tsconfig/recommended 中对应配置。.../Await、Promise、扩展运算符,并在 tsconfig.jon -> target 设置 ES5: 验证 target 降级处理 然后发现在右侧 dist/index.js 文件中,依然存在.../dist",及将 TSC 编译输出 JS 文件,统一输出 ./dist 目录下。.../dist/types", // 生成 '.d.ts' 文件保存文件夹 "sourceMap": true, // 生成相应 '.map' 文件 "outFile": "./", /

    3.7K41

    【React】653- 22 个让 React 开发更高效更有趣工具

    我们当中有些人可能不知道如何用 CRA创建一个 TypeScript 项目。...我们要做就是在末尾加上 --typescript: npx create-react-app --typescript 这会帮我们省去给 CRA 项目手工添加 TypeScript 麻烦...它提供了很多友好图形界面, React 开发人员一些典型任务项目提供支持。例如创建新项目,执行任务和管理依赖。...它会扫描项目中组件,并且可以实现以下功能: 用属性、上下文和状态任意组合下渲染组件 模拟每个外部依赖(例如 API 响应、localStorage 等) 与正在运行实例进行交互时,查看应用程序状态实时变化...它可以让我们将组件文件转换为组件文件夹结构。转换后 React 组件仍将是一个组件,只是现在已转换为一个目录。

    2.1K20
    领券