Taro: H5项目从Taro 2.0.5 升级到 Taro 3.0.16后,项目编译失败:Module not found: Can't resolve 'nervjs' in project-path/src

Created on 20 Nov 2020  ·  3Comments  ·  Source: NervJS/taro


相关平台

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 初始化一个新项目,然后拷贝代码到新工程可以正确编译打包。

F-react T-h5 V-3

Most helpful comment

在项目的 config/index.js 里的 config 顶层加一行

framework: 'react'

这边跟出来的原因是,h5 平台的 loader 里不配置的话,undefined framework 会被覆盖为 nerv, 进一步去编译文件(比如app.jsx)时,会在文件头插入对应平台的 import 语句,这就是nervjs的来源。

供参考

All 3 comments

我也遇到此问题,最后只能停止过度到3版本!希望官方能够处理一下,追了很久的源码,暂时还未追到具体是哪个modules 依赖的nervjs

在项目的 config/index.js 里的 config 顶层加一行

framework: 'react'

这边跟出来的原因是,h5 平台的 loader 里不配置的话,undefined framework 会被覆盖为 nerv, 进一步去编译文件(比如app.jsx)时,会在文件头插入对应平台的 import 语句,这就是nervjs的来源。

供参考

我们加个提示

Was this page helpful?
0 / 5 - 0 ratings