webpack打包library发布到npm
  TEZNKK3IfmPf 2023年11月14日 80 0

webpack打包library发布到npm

项目结构

$ tree
.
├── package.json
├── src
│   └── index.js
└── webpack.config.js

入口文件 index.js

// src/index.js
export function echo(message) {
  console.log(message);
}

依赖配置 package.json

{
  "name": "more-echo",
  "version": "1.0.0",
  "description": "a demo for webpack package to npm",
  "main": "dist/more-echo.js",
  "scripts": {
    "build": "webpack"
  },
  "keywords": [
    "demo"
  ],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^5.72.1",
    "webpack-cli": "^4.9.2"
  }
}

配置文件 webpack.config.js

const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'more-echo.js',
    library: {
      name: 'moreEcho',
      type: 'umd',
    },
  },
};

参考 https://www.ctyun.cn/portal/link.html?target=https%3A%2F%2Fwebpack.docschina.org%2Fguides%2Fauthor-libraries%2F

打包发布

# 打包
$ npm run build

# 发布
$ npm publish

npm地址:https://www.ctyun.cn/portal/link.html?target=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fmore-echo

Node环境中使用

npm i more-echo

示例

const { echo } = require('more-echo');

echo('Hello World!');

浏览器中使用

<script src="./dist/more-echo.js"></script>

<script>
    moreEcho.echo('Hello World');
</script>
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
TEZNKK3IfmPf