一般我们都是使用nodejs 自身的npm 或者yarn进行 npm 包的开发(包括构建),但是随着强类型的开发模式
在实际web 的开发中越来越重要,大家一般都会选择使用typescript 等js 的超集语言进行web 开发。
pack 就是一款方便我们进行npm 包构建同时帮助我们生成typescript 类型定义

基本使用

  • 初始化项目
  1. yarn init -y
  • 全局安装pack
    可以使用dev 的模式进行安装,同时还是npm script 这样方便新功能的使用
  1. npm install -g @pika/pack
  2. or
  3. yarn global add @pika/pack
  • 项目结构
    注意pack 默认源码是src 目录,这个也比较符合现有的开发规范,根目录的package.json 只是一个类似的模板
    主要是方便生成pkg 目录中的文件,具体生成的文件,是根据实际配置的构建piopeline
    ```code
    ├── package.json
    ├── src
    │ └── index.js
    └── yarn.lock
  1. * 添加pack基本配置
  2. 根目录的package.json
  3. ```code
  4. {
  5. "@pika/pack": {
  6. "pipeline": [
  7. [
  8. "@pika/plugin-standard-pkg"
  9. ],
  10. [
  11. "@pika/plugin-build-node"
  12. ],
  13. [
  14. "@pika/plugin-build-web"
  15. ]
  16. ]
  17. },
  18. "name": "first",
  19. "version": "1.0.0",
  20. "main": "index.js",
  21. "license": "MIT",
  22. "devDependencies": {
  23. "@pika/plugin-build-node": "^0.3.9",
  24. "@pika/plugin-build-web": "^0.3.9",
  25. "@pika/plugin-standard-pkg": "^0.3.9",
  26. "pack": "^2.2.0"
  27. },
  28. "scripts": {
  29. "build": "pack build"
  30. }
  31. }
  • 编写简单代码
    src/ index.js
  1. class PaltformLogin {
  2. constructor(name,age){
  3. this.name=name;
  4. this.age=age;
  5. }
  6. printName(){
  7. return this.name;
  8. }
  9. }
  10. var user = {
  11. name: "dalongdemo",
  12. age:333
  13. }
  14. export {PaltformLogin,user}
  15. export default user
  • 运行pack
    使用了npm scripts
  1. yarn build

效果

  1. yarn build
  2. yarn run v1.10.1
  3. $ pack build
  4. @pika/pack build v0.3.1
  5. [1/6] Validating source...
  6. [2/6] Preparing pipeline...
  7. ❇️ pkg/
  8. [3/6] Running @pika/plugin-standard-pkg...
  9. pack 方便的npm 构建工具的更多相关文章

      1. 关于node.jsnpmcnpm的安装记录以及gulp自动构建工具的使用
      1. 关于node.jsnpm,cnpm的安装记录以及gulp自动构建工具的使用   工作环境:window 在一切的最开始,安装node.js (中文站,更新比较慢http://nodejs.cn/) ...

      1. Nodejs编译Native Code:使用C++构建工具npm
      1. Nodejs的很多NPM包需要本地编译,通常是C++写的代码,例如图像处理模块等. 这是如果生产环境没有安装Visual Studio 2015等开发工具,通常会编译失败,发现了一个npm专门干这事儿 ...

      1. NPMnodeJS安装,grunt自动化构建工具学习总结
      1. 一:安装 npm是随nodeJs安装包一起安装的包管理工具,能解决NodeJS代码部署上的很多问题: 常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从N ...

      1. 前端自动化构建工具webpack (一)之webpack安装 设置webpack.confi.js
      1. 目的:  模块化开发,组件化开发,让代码符合开发规范,更高效 webpack作用:从pack,就知道这是包的意思,比较专业点叫做前端自动化打包构建工具,代码错误检查,预处理,文件合并(打包),代码压缩 ...

      1. 前端构建工具之gulp(一)「图片压缩」
      1. 前端构建工具之gulp(一)「图片压缩」 已经很久没有写过博客了,现下终于事情少了,开始写博吧 今天网站要做一些优化:图片压缩,资源合并等 以前一直使用百度的FIS工具,但是FIS还没有提供图片压缩的 ...

      1. 前端构建工具之gulp_常用插件
      1. gulp常用插件的使用 今天来看看一下gulp的常用插件的使用 就像gruntjs需要一个Gruntfile.js文件一样,gulp也需要一个文件作为它的主文件,在gulp中这个文件叫做gulpfil ...

      1. 前端构建工具的用法—gruntgulpbrowserifywebpack
      1. 随着前端项目的飞速发展,项目越来越大.文件越来越多,前端工程化的工具也越来越多.下面介绍目前最流行的四种构建工具——grunt.gulp.browserify.webpack 所有的构建工具都是基于N ...

      1. 前端构建工具gulpjs的使用介绍及技巧
      1. gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nodejsstream来读取和操作数据,其速 ...

      1. gulp自动化构建工具
      1. gulp    自动化构建工具,实时监控.代码合并.压缩... http://www.gulpjs.com.cn/     中文网 http://gulpjs.com/plugins/     英文网 ...

    1. 随机推荐

        1. CentOS 查看文件大小 du -hs filename
        1. du -hs  [filename] 查看目录大小 [root@localhost opt]# 16M apache-tomcat- df -hv 查看整个磁盘使用状况 [root@rabbit66 ...

        1. Linux文件系统命令 split
        1. 命令:split 功能:将文件按照一定的规则进行切割 用法:-l 表示按照行数进行切割. -b 表示按照字节进行切割,切割后的文件名为自己定义的文件名+aa,ab,ac类似的后缀. eg: 按照行数进 ...

        1. <Spark><Spark Streaming><作业分析><JobHistory>
        1. Intro 这篇是对一个Spark (Streaming)作业的log进行分析.用来加深对Spark application运行过程,优化空间的各种理解. Here to Start 从我这个初学者写 ...

        1. 【转】CEF3加载网页---多字节字符集和UNICODE字符集
        1. static char* MBSCToCEF(const char* mbcsStr) { wchar_t* wideStr; char* utf8Str; int charLen; charLen ...

        1. Android:如何获取屏幕的宽高
        1. WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE); DisplayMet ...

        1. 性能测试-2.Fiddler抓包工具的使用
        1. Fiddler基础知识(此文原文地址) Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修 ...

        1. [转]HBASE 二级索引
        1. 1.二级索引的核心思想是什么?2.二级索引由谁来管理?3.在主表中插入某条数据后,hbase如何将索引列写到索引表中去?4.scan查询的时候,coprocessor钩子的作用是什么?5.split ...

        1. 2.5 SeleniumBuilder辅助定位元素
        1. 前言对于用火狐浏览器的小伙伴们,你还在为定位元素而烦恼嘛?上古神器Selenium Builder来啦,哪里不会点哪里,妈妈再也不用担心我的定位元素问题啦!(但是也不是万能,基本上都能覆盖到) 2.5 ...

        1. SeleniumActionChains(一)
        1. 今天,分享的是ActionChains的使用方法. 先来说一下今天要用到的方法: click(element=null)                                 点击元素,参数 ...

        1. 2017-2018-2 20165228 实验二《Java面向对象程序设计》实验报告
        1. 2017-2018-2 20165228 实验二<Java面向对象程序设计>实验报告 相关知识点 三种代码 伪代码:注释,与具体编程语言无关 产品代码:由伪代码翻译而来的具体编程语言语法相 ...