【发布时间】:2020-09-13 19:41:25
【问题描述】:
我有以下 Deno 代码...
import rollup from "https://unpkg.com/rollup/dist/es/rollup.js";
const inputOptions = {
input: "./index.mjs"
}
const outputOptions = {
format: "esm",
sourcemap: "inline"
}
const build = async ()=>{
const bundle = await rollup.rollup(inputOptions);
const { output } = await bundle.generate(outputOptions);
for (const chunkOrAsset of output) {
if (chunkOrAsset.type === 'asset') {
console.log('Asset', chunkOrAsset);
} else{
console.log('Chunk', chunkOrAsset.modules);
}
}
}
但是当我尝试跑步时,我得到...
错误:相对导入路径“路径”未以 / 或 ./ 或 ../ 为前缀从“https://unpkg.com/rollup@2.26.11/dist/es/rollup.js”导入
我也试过
import rollup from "https://unpkg.com/rollup";
但我明白了……
错误:未捕获的 SyntaxError:请求的模块“https://unpkg.com/rollup”未提供名为“default”的导出
我终于尝试了...
import * as rollup from "https://unpkg.com/rollup";
但我明白了……
error: Uncaught ReferenceError: exports is not defined
Object.defineProperty(exports, '__esModule', { value: true });
如何让汇总与 Deno 一起使用?
【问题讨论】:
-
不确定它是否有效,但请尝试在该行前加上
// @ts-ignore -
简短的回答是你不能。 Rollup 使用像
fs和path这样的 I/O 模块,它们仅在 Nodejs 中可用。除非你找到一种方法来填充/填充这些模块。 -
nodejs != deno;它们并不兼容。你需要等到 rollup 被移植到 deno。