TypeScript基础篇 - React Webpack TS 环境实战

news2025/7/10 23:27:39

目录

Webpack+React+TS

tsconfig.json

src/App.tsx

src/main.tsx

scripts/webpack.config.js

package.json

scripts/template.html

一张ai生成图~


Webpack+React+TS

npm install react react-dom 【安装react并且安装一个react-dom】

引用时文件出现...;需要增加定义文件,如import React from ...'react'

npm install @types/react

引用时文件出现...;需要增加定义文件

npm install @types/react-dom

tsconfig.json

{
  "compilerOptions": {
    "lib": [ // 例,增加标准库,
      "DOM",
      "ESNext" // 下一代ES,不加的话,有些es语法找不到
    ],
    "jsx": "react", // TS会认识.tsx,并将他转化成需要的语义
    "outDir": "build", // 编译完的项放在build目录下
    "esModuleInterop": true // React内部export
  },
  "include": [
    "src/**/*"
  ] // src 下所有文件都需要ts编译
}

src/App.tsx

import React from 'react'
export default () => {
  return <h1>Hello world!</h1>
}

src/main.tsx

import ReactDOM from 'react-dom'
import React from 'react'
import App from './App'
ReactDOM.render(<App />, document.getElementById("root"))

scripts/webpack.config.js

// 记得安装npm install typescript -D
// 记得安装npm install -D webpack-dev-server
const path = require('path')
// 安装插件开发模式 npm add -D html-webpack-plugin webpack webpack-cli
const HTMLWebpackPlugin = require('html-webpack-plugin')
module.exports = {
  // entry【入口】__dirname当前文件所在目录,../src/main.tsx入口文件main.tsx路径
  entry: path.resolve(__dirname, '../src/main.tsx'),
  mode: "development",// 打包模式
  output: {
    filename: "bundle.js",// 打包好的文件名
    path: path.resolve(__dirname, '../build') // 打包好的文件放在这个文件夹里
  },
  devServer: {
    static: { // 新版本webpack5,老版本webpack4:directory放在{}外面
      directory: path.resolve(__dirname, "../build"), // 静态资源地址
    },
    port: 3000 // 端口3000
  },
  resolve: {
    extensions: ['.tsx', '.ts', '.js']// resolve可以解析的文件类型
  },
  plugins: [
    // 安装插件开发模式 npm add -D html-webpack-plugin webpack webpack-cli
    new HTMLWebpackPlugin({
      template: path.resolve(__dirname, "./template.html") // 模板文件
    })
  ],
  module: {
    rules: [
      {
        test: /\.tsx?$/, // /\.tsx?$/ 这个?代表x可以有,也可以没有
        use: 'ts-loader', // 用ts-loader编译typescript
        exclude: /node_modules/
      }
    ]
  }
}

package.json

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    // webpack 启动devServer
    "dev": "webpack serve --config scripts/webpack.config.js"
  },

scripts/template.html

<html>
  <head>
  </head>
  <body>
    <div id="root"></div>
  </body>
</html>

一张ai生成图~

 (8k, RAW photo_1.2),1 girl,(long hair_1.31),full body shot,1 8 year-old,thin and tall,green silk cloak,wet,rainbow  waterfall,rainbow water,(((rainbow ))),natural godness,sunshine,(clear fingers:1.5),(parted lips:1.1), (eyelashes:1.1), (smile:1.3),shenlilinghua-1

 

 手有点奇怪~~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/765785.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据分析案例-数据分析师岗位招聘信息可视化

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

解决appium-doctor报ffmpeg cannot be found

一、下载ffmpeg安装包 https://ffmpeg.org/download.html 找到如图所示红框位置点击下载ffmpeg安装包。 二、配置ffmpeg环境变量 三、检查ffmpeg版本信息 重新管理员打开dos系统cmd命令提示符&#xff0c;输入ffmpeg查看是否出现版本信息&#xff0c;安装完好。 ffmpeg

在php中安装php_xlswriter扩展报错,找不到php_xlswriter.dll

前言&#xff1a;这里已经把下载的php_xlswriter.dll扩展放到了php安装目录的ext目录下&#xff0c;运行php -m还是报错找不到该扩展 原因&#xff1a;下载的扩展是nts的&#xff0c;而安装的php是ts的。查看当前php是nts还是ts&#xff1a; 在PHP中&#xff0c;可以利用phpin…

DWG文件怎么转图片?简单好用的转换方法分享

将CAD文件转换成图片的优势在于&#xff0c;图片文件更易于共享和传输。CAD文件通常比较大&#xff0c;而图片文件则更加轻便&#xff0c;容易通过电子邮件或者其他方式进行传输。此外&#xff0c;图片文件更易于浏览和查看。CAD文件需要特殊的软件才能打开和查看&#xff0c;而…

全志F1C200S嵌入式驱动开发(GPIO输出)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 和v3s一样,f1c200s本身的外部引脚比较少。所以这个时候,不可避免地,很多引脚的功能就会重叠在一起。这种情况下,我们就要学会取舍了。比如说,如果是学习sd卡的时候,那么spi的…

寻找下一个生成式AI独角兽,亚马逊云科技创业加速器火热来袭

生成式AI让人工智能技术又一次破圈&#xff0c;带来了机器学习被大规模采用的历史转折点。它正在掀起新一轮的科技革命&#xff0c;为人类带来前所未有的颠覆性的影响&#xff0c;而诸多创业者也应势而上&#xff0c;寻求创新机遇。生成式AI可以创造全新的客户体验、提高企业内…

QPainter中坐标系变换问题

一、坐标系简介。 Qt中每一个窗口都有一个坐标系&#xff0c;默认的&#xff0c;窗口左上角为坐标原点&#xff0c;然后水平向右依次增大&#xff0c;水平向左依次减小&#xff0c;垂直向下依次增大&#xff0c;垂直向上依次减小。原点即为&#xff08;0&#xff0c;0&#xf…

【Jenkins】Jenkins构建前端流水线

目录 一、前言二、新建前端流水线1、点击新建任务2、填写流水线名称&#xff08;这里我选择的是自由风格的软件项目&#xff09;&#xff0c;任务名称一般格式为&#xff1a;项目名称-前后端3、创建成功后的结果 三、配置前端流水线1、进入刚创建好的任务页面中&#xff0c;点击…

攻击载荷、木马、蠕虫、感染型病毒,你了解多少?

恶意程序是指数字世界中带有攻击意图的程序实体&#xff0c;通常可以分为攻击载荷、木马、蠕虫、感染型病毒。 1.攻击载荷 攻击载荷是指攻击者发起初始攻击并建立网络连接的武器载体&#xff0c;按照功能可以分为投递攻击类、连接控制类、独立攻击类。 投递攻击类有远程攻击类…

电商 api 接口文档编写

1、开篇 欢迎使用ShowDoc&#xff01; API格式&#xff1a; 备注&#xff1a;API必须返回如下3个字段&#xff1a; 参数名必选类型说明status是int状态message是string信息提示result否mix结果 2、用户相关 2.1、登录/退出 简要描述&#xff1a; 用户登录API 请求URL&…

HCIA-虚拟化

1、虚拟化概述 KVM是所有云平台的底座&#xff0c;虚拟化是所有云的基础&#xff0c;虚拟化只提供基础架构&#xff0c;云可以提供服务。 CNA是个定制的欧拉系统EulerOS&#xff0c;基于centos内核只保留和虚拟化相关的代码&#xff0c;CNA默认已经部署好kvm虚拟化的软件。CNA…

Vue3的watchEffect的妙用,与watch的区别

前言 在Vue3中&#xff0c;引入了Composition API&#xff0c;其中的watchEffect()函数是一个非常强大和灵活的工具&#xff0c;用于处理响应式数据的变化&#xff0c;使得项目更加弹性和灵活。它与watch有所不同&#xff0c;本文将介绍watchEffect()的定义、特点、与watch的区…

LeetCode 1183 矩阵中 1 的最大数量 (图解)

题目省略了 题解 很多题解都写的是&#xff0c;求正方形矩阵在原矩阵的等效位置的数量&#xff0c;但是不画图可能不好理解&#xff0c;比如我现在有个 3*3 的矩阵&#xff0c;需要用2*2的正方形填充 上图中我枚举了所有的点在小正方形可能出现的情况&#xff08;A、B、C、D&…

Appium-Python-Client 源码剖析 (一) driver 的元素查找方法

目录 前言 源码版本:0.9 结构图&#xff1a; mobileby.py appium 的 webdriver.py selenium 的 webdriver.py seleniumdriver appiumdriver 前言 Appium-Python-Client是一个用于Python语言的Appium客户端库&#xff0c;它提供了丰富的API和功能&#xff0c;用于编写和…

SpringBoot整合缓存(Caffeine、Redis)

SpringBoot整合缓存 注解介绍 EnableCaching 标记在CacheManager统一配置类&#xff0c;需要配合Configuration使用 Cachable 标记在需要使用缓存的实现类上&#xff0c;一般用于查询操作。当该方法输入参数对应的缓存数据不存在与缓存引擎中&#xff08;类似Redis&#x…

视频配音乐怎么制作?教你简单好用的配乐方法

在很多情况下&#xff0c;为视频配乐可以增强观众的情感体验&#xff0c;使观众更加投入到视频内容中。配乐可以增强视频的节奏和情感共鸣&#xff0c;使观众更容易理解和接受视频的信息。此外&#xff0c;配乐还可以为视频添加品味和风格&#xff0c;使其更具吸引力。教大家几…

人际关系处理文库 怎样与女人相处 怎样与领导相处 张胜利 岳贵安著 PDF 网盘免费...

人际关系处理文库-17部大全 怎样与男人相处、怎样与女人相处、怎样与领导相处、怎样对付小人、怎样识别谎言、怎样洞察人心、怎样变通协调、怎样出人头地、怎样对付难缠的人、怎样对付小报告、怎样广结人缘、怎样看穿陷阱、怎样笼络人心、怎样妙言善辩、怎样轻松自如、怎样善解…

Huggingface tokenizer decode batch_decode报错解决思路与分析

文章目录 摘要引出原因最初报错的解决办法batch_decode 源码decode 和 batch_decode 都可以成功运行的例子decode 和 batch_decode 不能同时成功运行的例子源码将输入转成 python list 摘要 本篇文章&#xff0c;由笔者最初遇到的decode报错开始&#xff0c;叙述笔者如何解决这…

继连续亏损后,软银依然下注机器人,今年能否在人工智能浪潮中分一杯羹?

原创 |文 BFT机器人 近日&#xff0c;将近7个月没露面的孙正义&#xff0c;现身软银集团年度股东大会并表示&#xff0c;软银目前账面现金有5万亿日元&#xff08;约合人民币2547亿元&#xff09;&#xff0c;已准备好将防守模式转变为进攻模式&#xff0c;All in AI&#xff…

imazing怎么导出app,Imazing修改APP存档的方法【2023详解】

相信很多小伙伴都不清楚Imazing导出APP及能够帮助我们更好地去管理手机&#xff0c;还能够替换从网上下载的游戏存档&#xff0c;让用户可以有一个更好地体验&#xff0c;那么具体要如何去操作呢&#xff1f;下面就跟着小编一起来看看Imazing修改APP存档的方法吧。 使用软件 iM…