RollupError:模块格式“umd”不支持顶级等待。而是使用“es”或“system”输出格式。
我不知道该怎么办。我正在尝试构建我的 Vite 项目,但收到此错误。有办法吗?
错误是由我的这个文件引起的:
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
//import { dotnet2 } from './_framework_ide_helper/dotnet.js'
import { dotnet as dotnet1 } from './_framework/dotnet.js'
import { dotnet as dotnet2 } from './_framework/dotnet.js'
const dotnetEnv2 = await dotnet2
.withDiagnosticTracing(false)
.withApplicationArgumentsFromQuery()
.create();
const setModuleImports_ideHelper = dotnetEnv2.setModuleImports;
const getAssemblyExports_ideHelper = dotnetEnv2.getAssemblyExports;
const getConfig_ideHelper = dotnetEnv2.getConfig;
setModuleImports_ideHelper('ide-helper.js', {
//window: {
// location: {
// href: () => globalThis.window.location.href
// }
//}
});
var str = `&a = 5;
&b = 8;
if (&a > &b)
{
&c = &a;
}
else if (&a == &b)
{
&c = &a;
}
else
&c = &b;`;
const config = getConfig_ideHelper();
export const exportsHelper = await getAssemblyExports_ideHelper(config.mainAssemblyName);
这是我的
vite.config.ts
文件:
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import tsconfigPaths from "vite-tsconfig-paths";
import { resolve } from "path"
import dts from "vite-plugin-dts"
export default defineConfig({
plugins: [react(), tsconfigPaths(), dts({ rollupTypes: true })],
build: {
minify: false,
lib: {
entry: resolve(__dirname, "src/main.ts"),
name: "ide",
fileName: "ide"
},
rollupOptions: {
external: [
"react",
"react-dom",
"react/jsx-runtime",
],
output: {
globals: {
react: "React",
"react-dom": "ReactDOM",
"react/jsx-runtime": "react/jsx-runtime",
},
dir: 'dist',
format: 'es',
entryFileNames: "[name].js"
},
},
target: "esnext",
},
esbuild: {
target: "es2022"
},
optimizeDeps: {
esbuildOptions: {
target: "es2022",
}
},
resolve: {
alias: {
'@src': resolve(__dirname, 'src'),
},
},
});
我尝试删除await关键字并与promise一起使用,但这是不可能的。我不知道该怎么办。任何帮助表示赞赏。谢谢。
defineConfig
可以接受返回配置对象的函数。这个函数可以是async
(即返回一个promise)
因此你可以
defineConfig(async ()=>{
// await something exported from another file
return { /* some config */}
})