亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

前端項目模塊化的實踐1:搭建 NPM 私有倉庫管理源碼及依賴

標簽:
JavaScript

以下是关于前端项目模块化的实践,包含以下内容:

  1. 搭建 NPM 私有仓库管理源码及依赖

  2. 使用 Webpack 打包基础设施代码

  3. 使用 TypeScript 编写可靠类库 (实现中)

本文是关于前端项目模板化的第1部分

使用 Docker 搭建私有NPM仓库

关于 Docker 的使用不在本文之中,请自行参考其他文档。

经过测试, keyvanfatehi/sinopia 可用。

  1. 将 docker image 拉下来

docker pull keyvanfatehi/sinopia
  1. keyvanfatehi/sinopia 跑起来

docker run --name sinopia -d -p 4873:4873 keyvanfatehi/sinopia

我的 docker 主机名是 ubuntu-17,此时通过 http://ubuntu-17/4873 可以访问私有NPM 仓库网页。

https://img1.sycdn.imooc.com//5b855ce800018da715560383.jpg

发布 JavaScript 类库

添加示例类库项目 myGreeting

mkdir myGreetingcd myGreeting
yarn init -y # npm init -ytouch index.js

在 index.js 内添加如下内容

let greeting = function(name) {    return 'Hello ' + name;
}module.exports = greeting;

这份代码导出了一个函数,已经可以发布和被依赖了。

  1. npm adduser

初次使用这个私有仓库需要添加用户

npm adduser --registry http://ubuntu-17:4873
  1. npm publish

再把上面的代码发布上去

npm publish . --registry http://ubuntu-17:4873

NPM 有自己的版本和发布策略,可以使用以下命令查看帮助文档

  • npm help version

  • npm help publish

发布可能因为版本问题失败,追加谓词 --force 可强制发布但并非是常规操作。

发布后的管理页面图示

https://img1.sycdn.imooc.com//5b855cee000137ee15370309.jpg

引用已发布的类库

添加示例业务项目 myDemo

mkdir myDemocd myDemo
yarn init -y # npm init -ytouch index.js

引用 myGreeting

yarn add myGreeting --dev --registry http://ubuntu-17:4873

在 index.js 内添加如下内容

const myGreeting = require('myGreeting');

(function() {    let greeting = myGreeting('Rattz');    console.log(greeting);
})();

运行起来

node index.js
Hello Rattz

至此私有NPM仓库搭建、类库发布、依赖引用的部分已经完成。

项目所使用源码已发布 github,jusfrw 原创

原文出处:https://www.cnblogs.com/Jusfr/p/9547897.html

點擊查看更多內容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消