我正在尝试将团队项目从CRA迁移到Vite,但目前存在很大问题
现在,当我设法启动开发环境或服务环境时,我面临“import_fs2.default is null”,它来自 graphql.macro
从技术上讲,我可以用 codegen 替换它,但考虑到没有太多时间,有解决方法吗?
注意,如果这很重要,我正在使用nodePolyfills,但我仍然收到此错误
Vite配置:
/* eslint-disable import/no-extraneous-dependencies */
import { defineConfig, UserConfigExport } from 'vite';
import react from '@vitejs/plugin-react-swc';
import viteTsconfigPaths from 'vite-tsconfig-paths';
import svgrPlugin from 'vite-plugin-svgr';
import { nodePolyfills } from 'vite-plugin-node-polyfills';
const config = defineConfig({
plugins: [
react(),
viteTsconfigPaths(),
svgrPlugin(),
nodePolyfills({
// Whether to polyfill `node:` protocol imports.
protocolImports: true,
}),
],
resolve: {
alias: {
'./runtimeConfig': './runtimeConfig.browser',
'~antd': './node_modules/antd',
},
},
base: '',
build: {
outDir: 'build',
manifest: 'asset-manifest.json',
assetsDir: 'static',
chunkSizeWarningLimit: 1024,
},
});
export default config;
我希望 graphql.macro 能够与 vite 一起正常工作
从技术上讲,它的构建没有错误,但启动是一个不同的故事
找到答案
只需使用 vite loader 进行 graphQL 并将 loader 调用更改为 ES6 导入