如何解决-找不到模块:无法解析'@ babel / runtime / helpers / objectWithoutPropertiesLoose'

时间:2019-08-31 10:37:18

标签: javascript reactjs node-modules npm-install npm-start

我正在做一个React项目,实现此软件包https://www.npmjs.com/package/react-bootstrap-typeahead后出现以下错误,然后出现以下错误。

Failed to compile

./node_modules/react-popper/lib/cjs/Popper.js
Module not found: Can't resolve '@babel/runtime/helpers/objectWithoutPropertiesLoose' in 'E:\reactjs\deveans-react-version\node_modules\react-popper\lib\cjs'

This error occurred during the build time and cannot be dismissed.

我找到了很多解决方案,我也尝试过https://github.com/jquense/yup/issues/216,但仍然遇到相同的错误。

但是当我删除Typeahead组件时,它工作正常。

import React , { Component } from 'react'
import {Typeahead} from 'react-bootstrap-typeahead';
import 'react-bootstrap-typeahead/css/Typeahead.css';
class States extends Component {

    state = {
        multiple: false,
        options: [
          {id: 1, label: 'Pakistan'},
          {id: 2, label: 'Indonesia'},
          {id: 3, label: 'Turkey'},
          {id: 4, label: 'Brazil'},
        ]
      };

    render () {

        const {multiple} = this.state;

        return (
          <div>
            <Typeahead
            labelKey="label"
            multiple={multiple}
            options={this.state.options}
            placeholder="Choose a state..."
          />
          </div>
        )
    }
}
export default States

5 个答案:

答案 0 :(得分:4)

试试这个,它对我有用... :)

`使用 npm:

npm install --save @babel/runtime

或使用纱线:

yarn add @babel/runtime

答案 1 :(得分:1)

对于我来说,我通过添加.js和.jsx作为可解决的扩展名来解决此问题,因为objectWithoutPropertiesLoose没有扩展名。

resolve: {
        extensions: [".ts", ".tsx", ".js", ".jsx"]
},

答案 2 :(得分:1)

确保将 @babel/runtime 安装到常规 dependencies 而不是 devDependencies(安装时省略 --dev-D 标志)。

npm i @babel/runtime

yarn add @babel/runtime

否则在进行生产安装时会丢失它(忽略 devDependencies 部分),这就是我遇到的情况。

所有提供的答案在大多数情况下都是正确的,但我想添加一个解释: Babel 的运行时是 a production runtime that ships with your code,所以不能因为它在客户端上运行而被排除在外。

答案 3 :(得分:0)

您可以尝试以下解决方案

To install it, you can run: npm install --save @babel/runtime/helpers/builtin/objectWithoutPropertiesLoose

OR

npm add @babel/runtime

希望它对您有用。

答案 4 :(得分:0)

我找到了解决方法

npm install --save-exact @ babel / runtime @ 7.0.0-beta.55

然后删除package-json.lock文件和node_modules文件夹,然后使用 npm install

重新安装

对我有用。