vite-plugin / vite-plugin-commonjs

A pure JavaScript implementation for CommonJs
MIT License
96 stars 14 forks source link

commonjs 转换成esm的过程中 less文件的引用方式没有转换成功 #10

Closed maodouchen closed 2 years ago

maodouchen commented 2 years ago

源文件: require("./style");

ps: style是一个less文件

转换成 __require('...../style/index.less')

最终页面上报 Dynamic require of 'xxx' is not supported

caoxiemeihao commented 2 years ago

不能可转成 __require('...../style/index.less')
不可能报错 Dynamic require of 'xxx' is not supported
你确定你用的是我的插件?

maodouchen commented 2 years ago

不能可转成 __require('...../style/index.less') 不可能报错 Dynamic require of 'xxx' is not supported 你确定你用的是我的插件?

我确定 因为转换的是node_moduels里的第三方包 经过了预构建依赖后 才走进你的那个插件里 我debug了下 __require(style)没有做转换

流程如下: 源码require('./style') => esbuild预构建依赖 require('xxxxxx/style/index.less') => vite-plugin-commonjs require('xxxxxx/style/index.less')

麻烦问下 这个包 可以对node_modules里的第三方包 做commonjs 到esm的转换吗?

caoxiemeihao commented 2 years ago

__require(style) 这个不是标准的 require(),vite-plugin-commonjs 只转换标准的 CJS 标识符

maodouchen commented 2 years ago

__require(style) 这个不是标准的 require(),vite-plugin-commonjs 只转换标准的 CJS 标识符 get

caoxiemeihao commented 2 years ago

__require 没记错是 Vite 的 Pre-buidling 注入的