From 8feec8c1ab4e2340833d1aaea9ba4b22f869c492 Mon Sep 17 00:00:00 2001 From: underfin Date: Sun, 17 Jan 2021 16:39:44 +0800 Subject: [PATCH] fix(optimizer): rewrite `?commonjs-require`, since `rollup-plugin-commonjs` will inject require suffix for require call fix #1566 --- packages/vite/src/node/optimizer/depAssetPlugin.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/vite/src/node/optimizer/depAssetPlugin.ts b/packages/vite/src/node/optimizer/depAssetPlugin.ts index e3b21d42c71b83..9f92ea6718694a 100644 --- a/packages/vite/src/node/optimizer/depAssetPlugin.ts +++ b/packages/vite/src/node/optimizer/depAssetPlugin.ts @@ -7,6 +7,8 @@ import { normalizePath } from '../utils' import { ResolvedConfig } from '../config' import { idToPkgMap } from '../plugins/resolve' +export const REQUIRE_SUFFIX = '?commonjs-require' + export const depAssetExternalPlugin = (config: ResolvedConfig): Plugin => ({ name: 'vite:dep-assets-external', resolveId(id) { @@ -48,6 +50,15 @@ export const depAssetRewritePlugin = (config: ResolvedConfig): Plugin => { s.remove(statementStart, statementEnd) continue } + // rollup-plugin-commonjs will inject require suffix for require call + if (importee.endsWith(REQUIRE_SUFFIX)) { + s.overwrite( + start, + end, + importee.slice(1, -REQUIRE_SUFFIX.length) + ) + continue + } if (importee.startsWith('.')) { const pkg = idToPkgMap.get(id) if (pkg) {