「1」expo-shopping:初始化项目

本项目在next-shopping开发进入正轨的时候开始,正好,两边同步进行,next-shopping有了api接口,这边就可以直接使用,本项目基于expojs进行开发,且全程使用tsredux

新建项目:

shell 复制代码
npx create-expo-app -t expo-template-blank-typescript --no-install

使用ts模板新建项目,并且不让他自动安装依赖,注意expo-template-blank-typescript是模板,而不是你的项目名称,这段命令运行过后会让你填写项目名称

代码格式化 & 提交规范

安装格式化依赖:

shell 复制代码
pnpm i eslint-config-universe  eslint@8 prettier -D

新建.eslintrc.js

js 复制代码
module.exports = {
  extends: ["universe", "universe/shared/typescript-analysis"],
  overrides: [
    {
      files: ["*.ts", "*.tsx", "*.d.ts"],
      parserOptions: {
        project: "./tsconfig.json",
      },
    },
  ],
};

新建.prettierrc

js 复制代码
{
  "printWidth": 100,
  "tabWidth": 2,
  "singleQuote": false,
  "bracketSameLine": true,
  "semi": true
}

package.json中添加脚本

提交规范

安装依赖:

shell 复制代码
pnpm i husky -D   

初始化husky

shell 复制代码
npx husky install

添加lintpre-commit

shell 复制代码
echo "pnpm lint" > .husky/pre-commit    

安装commit检测依赖

shell 复制代码
pnpm i commitlint @commitlint/cli @commitlint/config-conventional -D   

新建.commitlintrc.js

js 复制代码
module.exports = {  
  extends: ["@commitlint/config-conventional"]  
};

写入提交msg

shell 复制代码
 echo "npx --no-install commitlint -e $HUSKY_GIT_PARAMS" > .husky/commit-msg

使用新的路由

地址:docs.expo.dev/router/inst...

安装依赖:

shell 复制代码
npx expo install expo-router react-native-safe-area-context react-native-screens expo-linking expo-constants expo-status-bar

修改package.json里面的main地址:

json 复制代码
{
  "main": "expo-router/entry"
}

安装web的支持依赖:

shell 复制代码
npx expo install react-native-web react-dom

修改app.json重的web打包配置

json 复制代码
{
  "web": {
    "bundler": "metro"
  }
}

安装依赖:

shell 复制代码
npx expo install @babel/runtime

新建app/index.tsx

tsx 复制代码
import { Text } from "react-native";

export default function Page() {
  return <Text>Home page</Text>;
}

运行项目,效果如下:

代码地址:github.com/liyunfu1998...

相关推荐
岁月宁静几秒前
图像生成接口的工程化设计与落地实践:封装豆包图像生成模型 Seedream 4.0 API
前端·人工智能·node.js
谢尔登14 分钟前
【GitLab/CD】前端 CD
前端·gitlab
ruanCat15 分钟前
在使用 changeset 时,如何在更新底部依赖时,触发上层依赖更新
前端·github
wendao16 分钟前
我开发了个极简的LLM提供商编辑器
前端·react.js·llm
烟袅20 分钟前
从一行代码说起:深入理解 JavaScript 中的字符串类型与模板字符串
前端·javascript·代码规范
慢知行24 分钟前
从 0 到 1 搭建 Vite+Vue3+TS 工程模板:能上手操作的指南
前端·vue.js·typescript
咖啡の猫26 分钟前
Vue解决开发环境 Ajax 跨域问题
前端·vue.js·ajax
盼哥PyAI实验室31 分钟前
纯前端打造个人成长网站:零后端、零部署、零服务器的实践分享
运维·服务器·前端·javascript·echarts·个人开发
nppe632 分钟前
NestJs 从入门到实战项目笔记
前端·后端
景彡先生40 分钟前
Python Flask详解:从入门到实战,轻量级Web框架的魅力
前端·python·flask