关于js module体系的一些笔记

原由

近来写完一个基于sao的模板再把之前写的一些代码弄到github上,在项目中使用时碰到须要兼容IE的状况才发明webpack在加载文件时存在肯定战略,下面来简单说一下。

例子

先看一下这个例子的文件和pkg的设置

dist/
    vpin.esm.js #ES2015花样
    vpin.min.js #UMD花样
    vpin.js     #Commonjs花样

package.js文件设置以下

{
    "main": "vpin.js",
    "jsnext:main": "vpin.esm.js",
    "module": "vpin.esm.js",
    "browser": "vpin.min.js"
}

在项目顶用webpack加载时这个例子时,会优先加载browser设置的文件,然后才是module或许jsnext:main,末了才是main。

不知道为何用rollup天生的UMD在webpack引入后没法掷中
exports关键字,致使引入空内容。

因为上面题目致使我疑心良久,厥后依据webpack加载战略,把browser设置去掉后加载esm体式格局的文件就把题目解决了。

假如你也有把项目宣布至npm,那末请注意一下package.json相干设置,能防止不必要的贫苦。

参考资料

    原文作者:帕奇式
    原文地址: https://segmentfault.com/a/1190000018975315
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞