注意無法讀取屬性「陣營」:我做了一個混帳回購協議,以便可以複製的問題 https://github.com/giovannicode/formsy-import-test嘗試導入formy-react時出錯。未定義
我試圖使用formsy反應的庫的反應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
該應用程序將不會出現錯誤編譯通過的WebPack雖然如此林不知道發生了什麼事情。
注意:我做了一個混帳回購協議,以便可以複製的問題 https://github.com/giovannicode/formsy-import-test
嘿亞歷杭感謝您的答覆。我嘗試了你的建議,但我仍然遇到同樣的錯誤。我也嘗試過使用var x = require(''x')'語法,但是我仍然得到了同樣的錯誤 –
好吧,首先我想你已經通過NPM安裝了React依賴關係,對於使用webpack你需要一個入口點,一個通常被稱爲「index.js」的文件 因此,在你的'entry {object}對象中,你應該引用index.js(入口點),例如: 'entry:{ './app/index。 JS' }' 你可以有多個入口點,但要確保你有數組語法 '進入:[‘文件’,‘anotherFile’]'爲網絡包 //項文件 '進口陣營從'反應' 導入ReactDOM from'react-dom' 從'./config/routes'導入路由 ReactDOM.render( routes, document。getElementById('app') )' – Alejandro
如果您正在學習它的真棒,您還可以創建反應應用程序,無需任何配置 https://facebook.github.io/react/blog/2016/07/22/create- apps-with-no-configuration.html – Alejandro