webpack打包文件同时支持script引入和npm安装

栏目: 编程工具 · 发布时间: 7年前

内容简介:前面写了个我的插件是基于es6+开发的,所以环境下会有些bable插件用于转译。假设我们现在已经完成了一个很简单的功能,他位于src文件夹下,是test.js,以简单的demo为例,此处是个Test类,如下:最后导出Test类,

前面写了个 recorder 的录音插件,在基本功能开发完成之后,希望能在script标签的方式引入项目,也希望能用npm install的方式添加到项目中,毕竟spa项目才是主流嘛,于是尝试这用wepack来打包,同时支持script标签方式引用和npm install方式使用。

前提

我的插件是基于es6+开发的,所以环境下会有些bable插件用于转译。假设我们现在已经完成了一个很简单的功能,他位于src文件夹下,是test.js,以简单的demo为例,此处是个Test类,如下:

class Test {
    constructor() {
        this.name = 'my name';
        this.age = 123;
    }

    showName() {
        console.log(this.name);
    }

    showAge() {
        console.log(this.age);
    }
}

最后导出Test类,

export default Test;

打开当前目录下的index.html,可以看到输出的name,当然,这是以script标签引入的,这是我们默认支持的。

下面我们要修改,使得打包出的代码技能兼容script,也能支持npm方式。

引入UMD

在前面的js模块化发展历程中,我也提到过umd方式,他支持浏览器端和node端(require方式),webpack同样也是支持该打包方式的。

首先修改webpack打包脚本,在webpack.config.js中,增加output下的参数:

libraryExport: "default",
library: "Test",
libraryTarget: "umd"

告诉webpack导出的方式和导出库名,详细见官方文档 outputlibrary

设置index.js

我们在一个项目中import一个包或依赖时,默认访问的是该文件夹下的index.js文件,所以此处增加index.js,并设置返回打包生成的库文件,

module.exports = require("./dist/test.js");

这样就好啦。

测试

script方式

script方式的测试比较简单了,直接双击执行index.html就行了。

npm方式

我们可以将整个文件夹拷贝到一个spa项目的node_modules中,并在项目中引用该库,可以看到和在script中一致的使用效果,那么就ok了。

npm提交

在这篇发布自己的npm包中有详细提示。等npm发布后,我们可以install下,再次作下测试。详细的demo见: webpack打包文件同时支持script引入和npm安装

到这就ok了,快去发布自己的插件和库吧。

欢迎关注微信公众号[ 我不会前端 ]或扫描下方二维码!

webpack打包文件同时支持script引入和npm安装


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

黑客大曝光

黑客大曝光

Joel Scambray、Vincent Liu、Caleb Sima / 姚军 / 机械工业出版社华章公司 / 2011-10 / 65.00元

在网络技术和电子商务飞速发展的今天,Web应用安全面临着前所未有的挑战。所有安全技术人员有必要掌握当今黑客们的武器和思维过程,保护Web应用免遭恶意攻击。本书由美国公认的安全专家和精神领袖打造,对上一版做了完全的更新,覆盖新的网络渗透方法和对策,介绍如何增强验证和授权、弥补Firefox和IE中的漏洞、加强对注入攻击的防御以及加固Web 2.0安全,还介绍了如何将安全技术整合在Web开发以及更广泛......一起来看看 《黑客大曝光》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具