我的理解是使用Babel允许您通过转换在ecma5环境中使用ecma6
javascript.但是,当我使用’import’时,’import’被转换为’require’. ‘require’不是ecma5,需要库’require.js’.因此,如果没有其他依赖关系,则无法使用“导入/导出”,这是正确的吗?
解决方法
是的,Babel仅用于翻译新语言功能以与现代
JavaScript引擎兼容. Babel不编译为require.js模块导入语法.而是使用Node.js使用的CommonJS模块语法.因此,您可以直接运行代码,而无需在Node.js中进一步构建依赖项.
由于它一次对单个文件进行操作并且是直接转换,因此它不会决定如何将这些其他文件的源代码包含到当前文件中.
也就是说,如果您打算在浏览器中使用它,您将需要一个支持CommonJS模块语句的构建系统或捆绑器:
>有关许多典型构建配置的列表,请参阅https://babeljs.io/docs/setup/#installation> Browserify和Webpack是Javacript生态系统中最受欢迎的两个>这些系统通过在引用’require’的地方注入文件来“捆绑”你的javascript代码,因此通常会生成一个输出js文件,你可以在ecma5中运行