react-demo:项目使用ESLint和prettier(不使用create-react-app脚手架)

为了在不使用 create-react-app 脚手架的情况下设置一个 React 项目,使用 ESLint 和 Prettier 来统一代码风格和质量,你需要按照以下步骤操作:

  1. 初始化一个新的 npm 项目:



npm init -y
  1. 安装 React 和必要的开发依赖:



npm install react react-dom
npm install --save-dev @babel/core @babel/preset-react
  1. 创建一个基本的 index.html 和入口文件 index.js
  2. 设置 .babelrc 或在 package.json 中配置 Babel:



"babel": {
  "presets": ["@babel/preset-react"]
}
  1. 安装 Webpack 和相关的开发依赖:



npm install --save-dev webpack webpack-cli webpack-dev-server html-webpack-plugin
npm install --save-dev babel-loader css-loader style-loader
  1. 创建 webpack.config.js 文件并配置:



const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
 
module.exports = {
  entry: './index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist'),
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
        },
      },
      {
        test: /\.css$/i,
        use: ['style-loader', 'css-loader'],
      },
    ],
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './index.html',
    }),
  ],
  devServer: {
    contentBase: path.join(__dirname, 'dist'),
    port: 3000,
    open: true,
  },
};
  1. 安装 ESLint 和 Prettier,并创建 .eslintrc.js 配置文件:



npm install --save-dev eslint eslint-plugin-react eslint-config-prettier eslint-plugin-prettier

.eslintrc.js:




module.exports = {
  extends: ['react-app', 'prettier'],
  rules: {
    // 在这里添加或覆盖规则
  },
};
  1. package.json 中添加脚本来运行 ESLint 和 Webpack:



"scripts": {
  "start": "webpack-dev-server",
  "lint": "eslint ."
}
  1. 安装其他 ESLint 插件和 Prettier 插件,以确保更好的集成:



npm install --save-dev eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react-hooks
npm install --save-dev prettier

完成以上步骤后,你可以通过运行 npm start 来启动开发服务器,使用 npm run lint 来检查代码质量。

请注意,这个例子是一个非常基础的配置,根据你的项目需求,你可能需要添加更多的配置和依赖项。

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日