H5
浏览器版本: Chrome 86
使用框架: React
1、通过Taro 2.0.5 初始化工程;
2、根据Taro next版本升级到Taro 3.0.16,并根据文档修改工程,将工程修改为 react 框架;
3、分别在 微信小程序 和 h5 编译打包
h5可以正确
h5编译失败,提示:Module not found: Can't resolve 'nervjs' in ... project-dir/src
Taro v3.0.16
Taro CLI 3.0.16 environment info:
System:
OS: macOS 10.14.4
Shell: 5.3 - /bin/zsh
Binaries:
Node: 12.6.0 - ~/.nvm/versions/node/v12.6.0/bin/node
Yarn: 1.9.4 - /usr/local/bin/yarn
npm: 6.9.0 - ~/.nvm/versions/node/v12.6.0/bin/npm
npmPackages:
@tarojs/cli: 3.0.16 => 3.0.16
@tarojs/components: 3.0.16 => 3.0.16
@tarojs/mini-runner: 3.0.16 => 3.0.16
@tarojs/react: 3.0.16 => 3.0.16
@tarojs/runtime: 3.0.16 => 3.0.16
@tarojs/taro: 3.0.16 => 3.0.16
@tarojs/webpack-runner: 3.0.16 => 3.0.16
babel-preset-taro: 3.0.16 => 3.0.16
eslint-config-taro: 3.0.16 => 3.0.16
eslint-plugin-taro: 3.0.16 => 3.0.16
react: ^16.10.0 => 16.14.0
taro-ui: ^3.0.0-alpha.3 => 3.0.0-alpha.1
1、微信小程序可以打包成功;
2、通过 Taro 3.0.16 初始化一个新项目,然后拷贝代码到新工程可以正确编译打包。
我也遇到此问题,最后只能停止过度到3版本!希望官方能够处理一下,追了很久的源码,暂时还未追到具体是哪个modules 依赖的nervjs
在项目的 config/index.js 里的 config 顶层加一行
framework: 'react'
这边跟出来的原因是,h5 平台的 loader 里不配置的话,undefined framework 会被覆盖为 nerv, 进一步去编译文件(比如app.jsx)时,会在文件头插入对应平台的 import 语句,这就是nervjs的来源。
供参考
我们加个提示
Most helpful comment
在项目的 config/index.js 里的 config 顶层加一行
这边跟出来的原因是,h5 平台的 loader 里不配置的话,undefined framework 会被覆盖为 nerv, 进一步去编译文件(比如app.jsx)时,会在文件头插入对应平台的 import 语句,这就是nervjs的来源。
供参考