1.0.3 • Published 2 years ago
pkg-exports-field-test v1.0.3
这是个 测试包 请不要下载
exports field test & babel compiled
可参考 axios-retry
package.json
{
"name": "pkg-exports-field-test",
"main": "index.js", # commonjs 引入时
"module": "lib/esm/index.js", # es module 引入时,
# 新提案的 兼容方式,
# 这种写法 引入的时候需要
# import xxx from 'pkg-exports-field-test'
"exports": {
".": {
"import": "./lib/esm/index.js",
"require": "./index.js"
},
# 这种写法 引入的时候需要
# import xxx from 'pkg-exports-field-test/parse'
"./parse": {
"import": "./lib/esm/index.js",
"require": "./index.js"
},
"./package.json": "./package.json"
},
...
}
babel.config.json 中的 @babel/preset-env
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"esmodules": true
}
}
]
]
}
和
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"esmodules": true
},
"modules": false
}
]
]
}
运行 babel src -d lib/esm --source-maps
的效果分别如下
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.parsePath = parsePath;
var _path = _interopRequireDefault(require("path"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function parsePath(p) {
return _path.default.parse(p);
} // console.log(parsePath('/home/user/dir/file.txt'))
//# sourceMappingURL=index.js.map
和
import path from 'path';
export function parsePath(p) {
return path.parse(p);
} // console.log(parsePath('/home/user/dir/file.txt'))
//# sourceMappingURL=index.js.map
modules
将此设置为 false
将保留 ES
模块, 不进行编译转换