Reason-Create-NPM-Package-PartII
建立 Semver 的類別
semver 在 Javascript 可以使用 new
關鍵字來產生物件
1 2
| const s = new semver("1.5.0"); s.minor();
|
在 Reason 中可以使用 class type 來綁定
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| class type semverInstance = [@bs] { pub version: string; pub major: int; pub minor: int; pub patch: int; pub raw: string; pub build: array(string); pub prerelease: array(string) };
type tSemver = Js.t(semverInstance);
|
完成了這一步先回想一下如何發布 NPM 的套件
發布 NPM 套件
document
將寫完的 Reason 檔案透過上面的步驟就可以推到 NPM 上面
使用 NPM 上的 bs-express 套件
1
| $ npm install bs-express express
|
bsconfig.json
1 2 3
| "bs-dependencies": [ "bs-express" ],
|
Demo.re
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| open Express;
let app = express();
let onListen = e => switch (e) { | exception (Js.Exn.Error(e)) => Js.log(e); Node.Process.exit(1); | _ => Js.log @@ "Listening at http://127.0.0.1:3000" };
App.get(app, ~path="/") @@ Middleware.from((next, req,) => { Response.sendString("Hello world") });
let server = App.listen(app, ~port=3000, ~onListen, ());
|
Demo Url
你就可以看到 Hello World!
終於串起 Reason 和 NPM 的部分
接下來是怎麼處理 使用 Reason 讓 Javascript 使用呢?