Final Form Calculate 项目教程
1. 项目的目录结构及介绍
Final Form Calculate 项目的目录结构如下:
final-form-calculate/
├── src/
│ ├── index.js
│ ├── calculateDecorator.js
│ └── utils.js
├── .babelrc
├── .eslintignore
├── .eslintrc
├── .flowconfig
├── .gitignore
├── .prettierrc
├── .travis.yml
├── LICENSE
├── README.md
├── package-lock.json
├── package-scripts.js
├── package.json
├── rollup.config.js
└── tsconfig.json
目录结构介绍
src/
: 包含项目的主要源代码文件。index.js
: 项目的入口文件。calculateDecorator.js
: 计算装饰器的实现文件。utils.js
: 工具函数文件。
.babelrc
: Babel 配置文件。.eslintignore
: ESLint 忽略文件配置。.eslintrc
: ESLint 配置文件。.flowconfig
: Flow 类型检查配置文件。.gitignore
: Git 忽略文件配置。.prettierrc
: Prettier 代码格式化配置文件。.travis.yml
: Travis CI 配置文件。LICENSE
: 项目许可证文件。README.md
: 项目说明文档。package-lock.json
: npm 依赖锁定文件。package-scripts.js
: npm 脚本配置文件。package.json
: 项目元数据和依赖配置文件。rollup.config.js
: Rollup 打包配置文件。tsconfig.json
: TypeScript 配置文件。
2. 项目的启动文件介绍
项目的启动文件是 src/index.js
,它是整个项目的入口点。该文件主要负责导出项目的主要功能模块,供其他项目引用和使用。
// src/index.js
export { default as createDecorator } from './calculateDecorator';
3. 项目的配置文件介绍
.babelrc
Babel 配置文件,用于配置 Babel 的转译规则和插件。
{
"presets": ["@babel/preset-env", "@babel/preset-flow"],
"plugins": ["@babel/plugin-proposal-class-properties"]
}
.eslintrc
ESLint 配置文件,用于配置代码检查规则。
{
"extends": ["eslint:recommended", "plugin:flowtype/recommended"],
"plugins": ["flowtype"],
"parser": "babel-eslint",
"rules": {
"no-console": "off"
}
}
package.json
项目元数据和依赖配置文件,包含了项目的名称、版本、依赖等信息。
{
"name": "final-form-calculate",
"version": "1.3.2",
"description": "Decorator for calculating field values based on other field values in 🏁 Final Form",
"main": "dist/final-form-calculate.cjs.js",
"module": "dist/final-form-calculate.es.js",
"files": [
"dist"
],
"scripts": {
"build": "rollup -c",
"prepublishOnly": "npm run build"
},
"dependencies": {
"final-form": "^4.18.5"
},
"devDependencies": {
"@babel/core": "^7.10.2",
"@babel/preset-env": "^7.10.2",
"@babel/preset-flow": "^7.10.1",
"babel-eslint": "^10.1.0",
"eslint": "^7.2.0",
"eslint-plugin-flowtype": "^5.2.0",
"flow-bin": "^0.128.0",
"prettier": "^2.0.5",
"rollup": "^2.15.0",
"rollup-plugin-babel": "^4.4.0",
"rollup-plugin-commonjs": "^10.1.0",