使用 Babel 将 React 集成到带有模块转译的构建流程中
Integrating React to a build flow with module transpilation with Babel
我目前在使用 babel 进行模块转译时遇到问题。
当我使用 babel 将代码转换为 AMD 模块时,我可以通过包含 requirejs 库使其在浏览器中运行。但是当我尝试将 React 引入到这个等式中时,我们遇到了一些麻烦,因为 React 在 AMD 上表现不佳。我们遇到不匹配错误 (http://requirejs.org/docs/errors.html#mismatch),因为 React 在 vendor.js 文件中同步加载。
如果我尝试相反的方法,使用 commonjs,因为它是 babel 使用的默认模块规范,我不知道如何让它在浏览器中工作。在前一个示例中没有像 requirejs 这样的库,浏览器会给出像 "exports not defined" 这样的错误。尝试包含一些东西,例如 es6-module-loader 或 babel browser polyfill,但没有太大成功。
ps:构建流程正在使用 broccolijs。
似乎答案就在 webpack 中。在使用 babel 将代码转译为 broccoli 中的 es5 后,我使用 broccoli webpack 插件使转译代码浏览器就绪。
我目前在使用 babel 进行模块转译时遇到问题。
当我使用 babel 将代码转换为 AMD 模块时,我可以通过包含 requirejs 库使其在浏览器中运行。但是当我尝试将 React 引入到这个等式中时,我们遇到了一些麻烦,因为 React 在 AMD 上表现不佳。我们遇到不匹配错误 (http://requirejs.org/docs/errors.html#mismatch),因为 React 在 vendor.js 文件中同步加载。
如果我尝试相反的方法,使用 commonjs,因为它是 babel 使用的默认模块规范,我不知道如何让它在浏览器中工作。在前一个示例中没有像 requirejs 这样的库,浏览器会给出像 "exports not defined" 这样的错误。尝试包含一些东西,例如 es6-module-loader 或 babel browser polyfill,但没有太大成功。
ps:构建流程正在使用 broccolijs。
似乎答案就在 webpack 中。在使用 babel 将代码转译为 broccoli 中的 es5 后,我使用 broccoli webpack 插件使转译代码浏览器就绪。