Получение ошибки при попытке импортировать формы-реагировать. Не удается прочитать свойство 'Реагировать' из неопределенного
Примечание: я сделал git-репо, чтобы можно было повторить проблему https://github.com/giovannicode/formsy-import-test
Я пытаюсь использовать библиотеку Formy-реагировать для проекта реагировать JS.
Но у меня проблемы с импортом файла. Я новичок в Webpack и ES6, так что я не уверен, что пропустил что-то важное. Вот мой файл.babelrc:
{
"presets": [
"es2015", "react"
]
}
Вот мой файл webpack.config.js:
var path = require("path");
module.exports = {
resolve: {
extensions: ['', '.js', '.jsx'],
},
//externals: 'react',
entry: {
'app': './app.jsx',
},
output: {
path: __dirname,
filename: "[name].js"
},
module: {
loaders: [
{
test: /\.jsx$/,
include: __dirname,
loader: "babel-loader"
},
]
}
}
И вот мой файл app.jsx:
import React from 'react';
import ReactDOM from 'react-dom';
import {Formsy} from 'formsy-react';
var CommentBox = React.createClass({
render: function() {
return (
<div className="commentBox">
Hello, world! I am a CommentBox.
</div>
);
}
});
ReactDOM.render(
<CommentBox />,
document.getElementById('react-content')
);
Если я закомментирую импорт формы-реакции, приложение будет работать нормально. Но когда я добавляю импорт, в браузере появляется следующая ошибка:
Uncaught TypeError: Cannot read property 'React' of undefined
Приложение будет скомпилировано без ошибок через веб-пакет, хотя я не уверен, что происходит.
Примечание: я сделал git-репо, чтобы можно было повторить проблему https://github.com/giovannicode/formsy-import-test
1 ответ
Вы пытаетесь импортировать зависимости двумя способами,
импорт модуля из ES6 и
import Formsy from 'forms-react'
и загрузка модуля с помощью require
var React = require('react');
просматривая ваш код, вы, вероятно, хотите использовать синтаксис ES6
import React from 'react'
import Formsy from 'forms-react'