【发布时间】:2021-10-22 09:36:45
【问题描述】:
我正在尝试使用这个测试 js 文件,我想通过 Rollup 为浏览器编译测试 ES 模块。
import { v4 as uuidv4 } from 'uuid';
export default function () {
console.log(uuidv4());
}
我为这个package.json做了npm i
{
"dependencies": {
"uuid": "^8.3.2"
},
"devDependencies": {
"@rollup/plugin-node-resolve": "^13.0.4"
}
}
rollup.config.js
// rollup.config.js
import nodeResolve from '@rollup/plugin-node-resolve';
export default {
input: ['src/main.js'],
output: {
name: 'bundle',
dir: 'dst',
format: 'es'
},
external: ['uuid'],
plugins: [ nodeResolve({ browser: true }) ]
};
汇总工作后我得到:
import { v4 } from 'uuid';
function main () {
console.log(v4());
}
export { main as default };
#1
我可以使用我的前缀获取 node_modules js 文件的完整路径吗?
例如对于我想要的 lib uuid (node_modules/uuid/dist/esm-browser/index.js):
// for prefix '/assets/js/lib/'
import { v4 } from '/assets/js/lib/uuid/dist/esm-browser/index.js';
或者可能只是 node_modules 库文件路径:
import { v4 } from 'node_modules/uuid/dist/esm-browser/index.js';
#2
我可以在 单独的目录 中为由我的 js 代码导入的每个外部 模块(来自包 json)制作 es-bundle 吗?
【问题讨论】:
标签: javascript import bundle node-modules rollup