【问题标题】:Error: Cannot find module "react-native" / Module not found: Error: Cannot resolve module 'react-native-web'错误:找不到模块“react-native”/找不到模块:错误:无法解析模块“react-native-web”
【发布时间】:2016-10-27 19:39:51
【问题描述】:

好的,我正在拼命地尝试安装一个 react-native-web 分支,该分支具有功能正常的 ListView 组件。 This branch,具体来说。

我将它安装到项目目录中,如下所示:npm install --save react@0.14 react-dom@0.14 https://github.com/IjzerenHein/react-native-web/tarball/feaure-listview2

直接从react-native-web安装好像没有这个问题。

这就是 index.web.js 的样子:

import React from 'react'

import {
AppRegistry,
Component,
...
} from 'react-native';

class App extends Component {
...
}

// App registration and rendering
AppRegistry.registerComponent('App', () => App);
AppRegistry.runApplication('App', { rootTag:     document.getElementById('react-root') });

这是控制台告诉我的(其中一部分,里面的文字太多了!):

[Error] ./index.web.js
Module not found: Error: Cannot resolve module 'react-native-web' in /Users/michael/Code/spectrum-react-native
resolve module react-native-web in /Users/michael/Code/spectrum-react-native
  looking for modules in /Users/michael/Code/spectrum-react-native/node_modules
  resolve 'file' react-native-web in /Users/michael/Code/spectrum-react-native/node_modules
  resolve file
    /Users/michael/Code/spectrum-react-native/node_modules/react-native-web is not a file
    /Users/michael/Code/spectrum-react-native/node_modules/react-native-web.webpack.js doesn't exist
    /Users/michael/Code/spectrum-react-native/node_modules/react-native-web.web.js doesn't exist
    /Users/michael/Code/spectrum-react-native/node_modules/react-native-web.js doesn't exist
    /Users/michael/Code/spectrum-react-native/node_modules/react-native-web.json doesn't exist
resolve 'file' or 'directory' /Users/michael/Code/spectrum-react-native/node_modules/react-native-web
  resolve file
    /Users/michael/Code/spectrum-react-native/node_modules/react-native-web is not a file
    /Users/michael/Code/spectrum-react-native/node_modules/react-native-web.webpack.js doesn't exist
    /Users/michael/Code/spectrum-react-native/node_modules/react-native-web.web.js doesn't exist
    /Users/michael/Code/spectrum-react-native/node_modules/react-native-web.js doesn't exist
    /Users/michael/Code/spectrum-react-native/node_modules/react-native-web.json doesn't exist
  resolve directory
    directory default file index
      resolve file index in /Users/michael/Code/spectrum-react-native/node_modules/react-native-web
        /Users/michael/Code/spectrum-react-native/node_modules/react-native-web/index doesn't exist
        /Users/michael/Code/spectrum-react-native/node_modules/react-native-web/index.webpack.js doesn't exist
        /Users/michael/Code/spectrum-react-native/node_modules/react-native-web/index.web.js doesn't exist
        /Users/michael/Code/spectrum-react-native/node_modules/react-native-web/index.js doesn't exist
        /Users/michael/Code/spectrum-react-native/node_modules/react-native-web/index.json doesn't exist
    use dist/index.js from package.json
      resolve 'file' or 'directory' dist/index.js in /Users/michael/Code/spectrum-react-native/node_modules/react-native-web
        resolve file
          /Users/michael/Code/spectrum-react-native/node_modules/react-native-web/dist/index.js doesn't exist
          /Users/michael/Code/spectrum-react-native/node_modules/react-native-web/dist/index.js.webpack.js doesn't exist
          /Users/michael/Code/spectrum-react-native/node_modules/react-native-web/dist/index.js.web.js doesn't exist
          /Users/michael/Code/spectrum-react-native/node_modules/react-native-web/dist/index.js.js doesn't exist
          /Users/michael/Code/spectrum-react-native/node_modules/react-native-web/dist/index.js.json doesn't exist
        resolve directory
          /Users/michael/Code/spectrum-react-native/node_modules/react-native-web/dist/index.js doesn't exist (directory default file)
          /Users/michael/Code/spectrum-react-native/node_modules/react-native-web/dist/index.js/package.json doesn't exist (directory description file)
  ...

 @ ./index.web.js 9:19-42
errors (bundle.js:7934)
onmessage (bundle.js:7969)
dispatchEvent (bundle.js:2874)
(anonymous function) (bundle.js:4908)
forEach
_transportMessage (bundle.js:4906)
(anonymous function)
emit (bundle.js:847)
onmessage (bundle.js:6261)

【问题讨论】:

  • 我刚刚添加了一个答案,如果有不清楚的地方,请告诉我

标签: javascript reactjs npm react-native react-native-listview


【解决方案1】:

问题是,他们有一个构建过程。这样,在 git 中会忽略已使用/预期的文件,但在 npm 导出中。

解决这个问题的最简单方法是克隆存储库,检查给定的分支,运行构建,并根据您是否有一个大型团队使用 npm link 链接本地存储库或从.gitignore 并将构建文件推送到分支。

【讨论】:

    猜你喜欢
    • 2020-05-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2020-05-26
    • 1970-01-01
    • 2022-09-28
    • 2017-03-31
    • 2022-06-29
    相关资源
    最近更新 更多