提交 d1f25255 编写于 作者: fxy060608's avatar fxy060608

fix(windows): resolve with extensions (#3041)

上级 ed13794b
......@@ -6,6 +6,15 @@ export const EXTNAME_VUE_RE = /\.(vue|nvue)$/
export const EXTNAME_JS_RE = /\.[jt]sx?$/
export const EXTNAME_TS_RE = /\.tsx?$/
export const extensions = [
'.mjs',
'.js',
'.ts',
'.jsx',
'.tsx',
'.json',
].concat(EXTNAME_VUE)
export const ASSETS_INLINE_LIMIT = 40 * 1024
export const APP_SERVICE_FILENAME = 'app-service.js'
......
......@@ -7,12 +7,16 @@ import { once } from '@dcloudio/uni-shared'
import { normalizePath } from './utils'
import { isInHBuilderX } from './hbx/env'
import { extensions } from './constants'
export function requireResolve(filename: string, basedir: string) {
return resolveWithSymlinks(filename, basedir)
}
const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json']
function resolveWithSymlinks(id: string, basedir: string): string {
return resolve.sync(id, {
basedir,
extensions: DEFAULT_EXTENSIONS,
extensions,
// necessary to work with pnpm
preserveSymlinks: true,
})
......
import path from 'path'
import { UserConfig } from 'vite'
import { isWindows, EXTNAME_VUE, normalizePath } from '@dcloudio/uni-cli-shared'
import {
isWindows,
extensions,
normalizePath,
requireResolve,
} from '@dcloudio/uni-cli-shared'
import { VitePluginUniResolvedOptions } from '..'
export function customResolver(updatedId: string) {
if (isWindows) {
return normalizePath(path.resolve(process.env.UNI_INPUT_DIR, updatedId))
return normalizePath(requireResolve(updatedId, process.env.UNI_INPUT_DIR))
}
return updatedId
}
......@@ -27,8 +32,6 @@ export function createResolve(
customResolver,
},
],
extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'].concat(
EXTNAME_VUE
),
extensions,
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册