Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 巴贝尔透明纸';导入&x27;至';需要';,但是';需要isn';在ecma5中不可用_Javascript_Ecmascript 6_Require_Babeljs - Fatal编程技术网

Javascript 巴贝尔透明纸';导入&x27;至';需要';,但是';需要isn';在ecma5中不可用

Javascript 巴贝尔透明纸';导入&x27;至';需要';,但是';需要isn';在ecma5中不可用,javascript,ecmascript-6,require,babeljs,Javascript,Ecmascript 6,Require,Babeljs,我的理解是,使用Babel可以通过传输在ecma5环境中使用ecma6 javascript。但是,当我使用“import”时,“import”被转换为“require”require不是ecma5,需要库require.js。因此,如果没有其他依赖项,就不能使用“导入/导出”,对吗?是的,Babel只是用于翻译新的语言功能,以便与现代javascript引擎兼容。Babel编译时不需要.js模块导入语法。而是使用Node.js使用的CommonJS模块语法。因此,您可以直接运行代码,而无需在N

我的理解是,使用Babel可以通过传输在ecma5环境中使用ecma6 javascript。但是,当我使用“import”时,“import”被转换为“require”require不是ecma5,需要库require.js。因此,如果没有其他依赖项,就不能使用“导入/导出”,对吗?

是的,Babel只是用于翻译新的语言功能,以便与现代javascript引擎兼容。Babel编译时不需要.js模块导入语法。而是使用Node.js使用的CommonJS模块语法。因此,您可以直接运行代码,而无需在Node.js中进一步构建依赖项

由于它一次处理单个文件,并且是一种直接的翻译,因此它不会决定如何将这些其他文件的源代码包含到当前文件中

也就是说,如果您要在浏览器中使用它,您将需要一个支持CommonJS模块语句的构建系统或绑定器:

  • 有关许多典型生成配置的列表,请参阅
  • Browserify和Webpack是Javascript生态系统中最流行的两个
  • 这些系统通过在引用“require”的地方注入文件来“捆绑”javascript代码,因此通常会生成一个可以在ecma5中运行的输出js文件

尝试用相应的方法替换透明代码中的require。例如:对我来说,将require('react')替换为window.react将起作用

我感兴趣的是将带有require语句和模块的文件捆绑到单个文件中。我们目前使用的是gulp babel和gulp。我不确定我需要什么额外的包装来完成这项工作。我遇到了gulp browserify,但它似乎已被弃用,这是最好的选择还是有其他设置我应该使用gulp?