最近在学习React ES6的写法,遇到一个问题。
src/helloworld.js
import React, {
Component,
} from 'react';
import ReactDom from 'react-dom';
class HelloReact extends Component {
render() {
return (
Hello React
);
}
}
ReactDom.render( , document.getElementById('example'));
index.html
Hello React!
我用babel cli将helloworld.js转码后载入index.html。但是报错 require is not defined。
我看了下babel将src中的import转成了require。这么说难道我还要在index.html中载入require.js吗?
.babelrc
{
"presets": [
"es2015", "react"
],
"plugins": []
}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
js模块化有AMD,CMD,UMD,CommonJS等,你用babel转换的js文件,是将es6的import转换为了es5的CommonJS规范的require,浏览器端是不支持CommonJS的(除非用工具入browserify),可以设置转换为AMD规范的模块化写法,再用requireJS,或者你也可以使用browserify。单最好的方式是使用Webpack,Webpack支持各种模块化规范,react开发必备