挖掘机技术哪家强
Marauder 下一代工程化体系。
npx @mara/create my-app
cd my-app
yarn dev依赖 node 10+, TypeScript 2.7+
推荐使用 @mara/create 一键生成项目:
npx
npx @mara/create my-appnpm
npm init @mara my-appyarn
yarn create @mara my-appMarauder CLI
npm i @mara/cli -g
mara create my-appMarauder 预设以下模板,可通过 --preset | -p 参数指定。
vueVue 项目模板(js/ts)reactReact 项目模板(js/ts)
未指定预设时,默认创建 Vue x Typescript 项目:
npx @mara/create my-app通过 -p 指定 vue 预设
npx @mara/create my-app -p vue指定 react 预设,创建 React x Typescript 项目:
npx @mara/create my-app -p react当 --preset 参数指定其他非预设值时,将应用空白模板
使用 zepto:
npx @mara/create my-app --preset zepto --no-ts不使用任何类库:
npx @mara/create my-app --preset --no-ts完整的命令行参数有:
--use-npm使用npm安装依赖,默认yarn--use-pnp使用 yarn pnp 模式--no-ts不使用 typescript--preset | -p指定预设模板,vue | react | other lib--force | -f强制在指定目录生成项目
以 my-app 为例
my-app/
├── README.md
└── package.json安装依赖:
yarn add @mara/x -D创建项目结构:
mkdir -p src/views/index
cd src/views/index
touch index.js index.html完整结构:
my-app/
├── README.md
├── package.json
├── node_modules
└── src
└── views
└── index
├── index.js
└── index.html添加 npm scripts
{
"scripts": {
"dev": "marax dev",
"build": "marax build"
}
}控制台执行 yarn build 命令,正确构建即为安装成功。
Marauder 项目具有以下结构:
my-app
├── README.md
├── node_modules
├── package.json
├── marauder.config.js
├── .gitignore
└── src
└── views # 视图目录
├── home # 页面
│ ├── index.js
│ └── index.html
└── profile # 页面
├── index.js
└── index.htmlmarauder 为多页打包工具,我们约定 src/views 为视图目录,视图目录用于存放页面。
我们把视图目录下,含有入口脚本和入口文档文件的目录称为页面。
我们约定入口脚本与入口文档以 index 命名。
可识别为入口脚本的文件有:
index.jsindex.tsindex.jsxindex.tsx
当同时存在多个入口脚本时,遵循以下加载顺序:
ts > tsx > js > jsx入口文档:index.html
页面示例:
views
├── home # home 页面
│ ├── index.js
│ └── index.html
└── profile # profile 页面
│ ├── index.ts
│ └── index.html
└── other # 非页面,缺少入口脚本
├── foo.js
└── index.html上述示例中 home 和 profile 目录含有入口脚本与入口文档,因此被识别为页面。
other 目录仅含有入口文档,缺少入口脚本,因此不是页面。
yarn dev运行开发模式,在本地 3022 端口(默认)启动开发服务器。
yarn build运行生产模式打包资源,在 dist 目录下输出项目构建结果。