Babel-RequireJS模块同步加载器
Babel-Require是一个CMD规范的js模块同步加载器,其本质是一个类似NodeJS的"require()"函数。
在浏览器中使用Babel动态编译运行ECMScript2015,如果包含import关键字则会报错,此函数库设计用于解决该问题。让开发者不用编译即可直接在浏览器中import ECMScript2015 js模块, 目前支持Babel5.x。
使用同步AJAX实现,单线程下载,只能用于开发调试, 当import文件较多时会稍慢。
在线例子:
http://wmlgl.github.io/babel-require/examples/
配置:
加载模块时,如果配置了jsx,并且该模块属于jsx项配置的目录下,则加载".jsx"文件,否则加载".js"文件。 Config exmaple:
<script type="text/javascript"> require.config({ jsx: ["app"] }); </script> <script type="text/babel"> // 会加载"app/app.jsx" // Will be load "app/app.jsx" import App from "app/app"; // 会加载"lib/hello.js" // Will be load "lib/hello.js" import Hello from "lib/hello"; </script>
示例:
<!DOCTYPE html><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Examples</title> <script src="lib/react/react.js"></script> <script src="lib/react/react-dom.js"></script> <script src="lib/babel-core/browser.js"></script> <script src="lib/babel-core/browser-polyfill.js"></script> <script src="dest/babel-require.js"></script> </head> <body> <div id="container">loading...</div> </body></html><script type="text/babel"> import App from "app/app"; ReactDOM.render(<App/>, document.getElementById('container'));</script> // file: app/app.jsx import Test1 from './loadtest1/test1' import Test2 from './loadtest2/test2' export default class App extends React.Component { render () { return ( <div> Hello App! <Test1 /> <Test2 /> </div> ); } }
评论