Javascript ReactJS:Uncaught ReferenceError:require未定义
我试着用干的。我试图在不同的文件中使用相同的HTML部分 部分:Javascript ReactJS:Uncaught ReferenceError:require未定义,javascript,reactjs,Javascript,Reactjs,我试着用干的。我试图在不同的文件中使用相同的HTML部分 部分: var AdminMenu = React.createClass({ getInitialState: function() { return {}; }, render: function() { return ( <h1>Menu</h1> ); } }); 此脚本包含在html页面中,如: 我正在使用webpack考虑使用ES6模块,而不是React的requ
var AdminMenu = React.createClass({
getInitialState: function() {
return {};
},
render: function() {
return (
<h1>Menu</h1>
);
}
});
此脚本包含在html页面中,如:
我正在使用webpack考虑使用ES6模块,而不是React的require 导出模块:
// src/hello.js
// export as default
export default const hello = ({name}) => (
<h1>Hello {name}</h1>
)
// src/index.js
// import from relative directory (src)
import Hello from './hello'
const App = () => {
return (
<div>
<Hello name="Pavel" />
</div>
)
}
//src/hello.js
//导出为默认值
导出默认常量hello=({name})=>(
你好{name}
)
导入模块:
// src/hello.js
// export as default
export default const hello = ({name}) => (
<h1>Hello {name}</h1>
)
// src/index.js
// import from relative directory (src)
import Hello from './hello'
const App = () => {
return (
<div>
<Hello name="Pavel" />
</div>
)
}
//src/index.js
//从相对目录(src)导入
从“./Hello”导入Hello
常量应用=()=>{
返回(
)
}
您应该阅读更多关于模块的信息,例如:
现有代码中的主要问题是:
此外,如果您不使用任何模块绑定器(如webpack等),您可以用俄语在评论中写问题,这对您更方便。 您应该将组件分配给一些javascript全局对象,因为.jsx中的对象不在全局范围内 下面是解决方案(此处使用窗口对象) 已定义模块:
window.AdminMenu = React.createClass({
getInitialState: function() {
return {};
},
render: function() {
return (
<h1>Menu</h1>
);
}
});
window.AdminMenu=React.createClass({
getInitialState:函数(){
返回{};
},
render:function(){
返回(
菜单
);
}
});
在您使用它的地方:
ReactDOM.render(
<window.AdminMenu/>,
document.getElementById('content')
);
ReactDOM.render(
,
document.getElementById('content')
);
您必须使用
const { Component } = React;
const { render } = ReactDOM;
代替
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
您使用的是哪个packager/builder?您的代码看起来有问题,您需要adminMenu,但您没有分配它。。为什么不使用ES导入/导出?您是否查看了webpack.config.js以了解React最佳实践?您也没有导出
AdminMenu
您知道模块是如何工作的吗?@webdeb但我正在分配AdminMenu
如var AdminMenu=…
,但是您没有导出它在const
浏览器上出错:browser.js:2027未捕获语法错误:意外标记(1:15)
没有const
得到错误:VM1842:4未捕获引用错误:导出没有明确定义,因为它不是复制粘贴代码,你应该设置webpack来支持ES6,让它启动并运行一个简单的样板文件,看看它在做什么。。。有人能帮我吗:-你说:“如果你不使用任何模块绑定器,如webpack或其他”。“etc”是否包含“grunt”我正在使用grunt捆绑我的js。我仍然得到这个错误。