UNPKG

2.62 kBMarkdownView Raw
1# Oceanifier - 基于 oceanify 的命令行工具
2
3使用 Oceanifier,前端工程师可以快速开发独立的前端模块。
4
5
6## Usage - 用法
7
8
9### Component Development - 单个模块开发
10
11可以参考 central 中使用 oceanifier 开发的一些前端模块:
12
131. [yen][yen]
14
15Oceanifier 在启动的时候,会检查当前目录下是否有 package.json 文件,如果有,就会认为当前模块(也就是 package.name)为本地模块,在接到当前模块的请求时,会进入源码模式,将当前目录作为这个模块的源码目录。
16
17比如,假设我在 [yen][yen] 项目目录中,那么所有到 `yen` 路径的访问,都会用当前目录中的文件作为内容返回:
18
19| 请求路径 | 实际文件 |
20|---------|---------|
21| /yen/index.js | /index.js |
22| /yen/test/test.yen.js | /test/test.yen.js |
23
24这个模式在开发独立模块时非常方便,仍然以 yen 为例。
25
26```bash
27➜ yen git:(master) tree . -I node_modules
28.
29├── History.md
30├── Readme.md
31├── easing.js
32├── events.js
33├── index.js
34├── package.json
35└── test
36 ├── runner.html
37 ├── test.events.js
38 └── test.yen.js
39
406 directories, 6 files
41```
42
43我们可以到 yen 的根目录运行 oceanify 服务:
44
45```bash
46➜ yen git:(master) oceanify serve # --port 5000
47```
48
49然后访问 <http://localhost:5000/test/runner.html> 即可执行 yen 的单元测试了。参考 yen/package.json 文件,我们还可以在 `scripts` 字段里写上:
50
51```js
52"scripts": {
53 "start": "oceanify serve",
54 "test": "totoro --runner=http://`oceanify ip`:5000/test/runner.html"
55}
56```
57
58然后就可以用 `npm start` 运行服务,用 `npm test` 执行多浏览器测试了。
59
60
61### Web Development - 日常前端开发
62
63// TODO
64
65
66## Diff - 与 oceanify 的区别
67
68
69### Oceanify
70
71在使用 Node 开发的 Web 应用中,如果你采用的框架是 connect、express、或者 koa,那么你可以直接使用 [oceanify][oceanify] 提供的中间件:
72
73```js
74// connect/express
75var oceanify = require('oceanify')
76app.use(oceanify())
77
78// koa
79var oceanify = require('oceanify/g')
80app.use(oceanify({ base: './components' }))
81```
82
83详见 [oceanify][oceanify] 的说明文档。
84
85
86### Oceanifier
87
88如前文所述,oceanify 只是一个中间件。如果你并非后端开发,只是想用 oceanify 的方式开发前端代码;如果你只是想以 CommonJS 形式开发一个可以通过 NPM 发布的前端或者前后端共享的模块,那用 Oceanifier 就对了。
89
90
91[oceanify]: https://github.com/erzu/oceanify
92[yen]: https://github.com/erzu/yen