weapp-tailwindcss
weapp-tailwindcss copied to clipboard
支持pnpm
描述这个Bug 使用pnpm的时候, 会报错
代码url 官方demo, 把包管理器改成pnpm就能复现
如何重现 Steps to reproduce the behavior:
rm yarn.lockpnpm installpnpm run dev
屏幕截图(可选)

哈哈,这个我之前也用 pnpm 试过 uni-app,也是各种报错,原因应该是 webpack-sources 版本问题导致的不匹配,我这个插件依赖的 webpack-sources 是 3.2.3 ,图里面报错的版本是 1.4.3.
这个 issue 我先尝试通过改 lock 文件解决一下,你先使用 yarn 或者 npm 进行开发吧。
哈哈,这个我之前也用
pnpm试过uni-app,也是各种报错,原因应该是webpack-sources版本问题导致的不匹配,我这个插件依赖的webpack-sources是3.2.3,图里面报错的版本是1.4.3. 这个issue我先尝试通过改 lock 文件解决一下,你先使用yarn或者npm进行开发吧。
好的, 谢谢大佬
哈哈,这个我之前也用
pnpm试过uni-app,也是各种报错,原因应该是webpack-sources版本问题导致的不匹配,我这个插件依赖的webpack-sources是3.2.3,图里面报错的版本是1.4.3. 这个issue我先尝试通过改 lock 文件解决一下,你先使用yarn或者npm进行开发吧。
能不能加到devDependencies,安装依赖时很有可能把webpack依赖的版本放内部node_modules了,把你这个项目的依赖放到了外部,导致报错。
哈哈,这个我之前也用
pnpm试过uni-app,也是各种报错,原因应该是webpack-sources版本问题导致的不匹配,我这个插件依赖的webpack-sources是3.2.3,图里面报错的版本是1.4.3. 这个issue我先尝试通过改 lock 文件解决一下,你先使用yarn或者npm进行开发吧。能不能加到devDependencies,安装依赖时很有可能把webpack依赖的版本放内部node_modules了,把你这个项目的依赖放到了外部,导致报错。
webpack-sources 这个不能加进 devDependencies 里,原因在于,我这个包啊,是要兼容 webpack4 和 webpack5 的。
而他们最后都被打入了一个 bundle
webpack-sources 这个依赖实际上是为了 webpack4 添加的:
import { ConcatSource, Source } from 'webpack-sources'
webpack5 可以很方便的直接从 compiler 里拿出来:
const { ConcatSource , Source } = compiler.webpack.sources
这个需求,可能需要我为 webpack4 和 webpack5 打不同的包,来解决这个问题。
哈哈,这个我之前也用
pnpm试过uni-app,也是各种报错,原因应该是webpack-sources版本问题导致的不匹配,我这个插件依赖的webpack-sources是3.2.3,图里面报错的版本是1.4.3. 这个issue我先尝试通过改 lock 文件解决一下,你先使用yarn或者npm进行开发吧。能不能加到devDependencies,安装依赖时很有可能把webpack依赖的版本放内部node_modules了,把你这个项目的依赖放到了外部,导致报错。
webpack-sources这个不能加进devDependencies里,原因在于,我这个包啊,是要兼容webpack4和webpack5的。 而他们最后都被打入了一个bundlewebpack-sources这个依赖实际上是为了webpack4添加的:import { ConcatSource, Source } from 'webpack-sources'
webpack5可以很方便的直接从compiler里拿出来:const { ConcatSource , Source } = compiler.webpack.sources这个需求,可能需要我为
webpack4和webpack5打不同的包,来解决这个问题。
[email protected]的ConcatSource缺少了listMap这个方法,所以是不兼容webpack 4的,看能不能降级到1.4.x的版本呢。。。
嗯,好的,我测试一下哈
我创建了一个库 pnpm-install-webpack-plugin-test-case
使用 pnpm 安装,版本为 7.9.3。安装成功后,pnpm dev:mp-weixin 和 pnpm build:mp-weixin 都可以顺利运行,没有报错的,你升级一下 pnpm 版本试试呢,lock 文件 pnpm-lock.yaml
webpack-sources 是在 v3 删除了这个node() and listMap() 这 2个 api
见 https://github.com/webpack/webpack-sources/releases/tag/v3.0.0
你可以把你的运行环境,使用 uni-app 的版本啊, pnpm 版本, nodejs版本这些都带上看看。
我使用 [email protected] 在今天新创建的 taro 项目中使用,也没有问题的,项目demo:
https://github.com/sonofmagic/taro-react-tailwind-vscode-template
所以我感觉,这应该是当时 pnpm 没处理好依赖导致的,现在 pnpm 的最新版本应该已经修复了,所以 pnpm 已经支持了。
@yqz0203 @bingtsingw
附 pnpm node_modules/.pnpm 依赖截图:

我不是pnpm,是一个monorepo项目,项目用的webpack4,所以出现了这个问题。
我不是pnpm,是一个monorepo项目,项目用的webpack4,所以出现了这个问题。
那你可能需要的是 hoist 机制,这个机制 pnpm 和 yarn 都有的,详见 https://pnpm.io/npmrc#hoist
hoist 特意屏蔽了webpack的,因为子项目间webpack版本不同有冲突,,,总之有点蛋疼。
我现在是通过打补丁的方式解决的。。强制把这个包的webpack-source依赖改成了1.x、
好的,你是 yarn 还是 pnpm 做的 monorepo 呀,我要复现这个问题话,大概应该咋做呀?
monrepo 的问题,到时候新开一个 issue 吧,现在版本的 pnpm 已经可以正常运作了。