Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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 为什么巴贝尔加载器是网页包的一部分,而不是巴贝尔本身?_Javascript_Webpack_Build_Babeljs_Babel Loader - Fatal编程技术网

Javascript 为什么巴贝尔加载器是网页包的一部分,而不是巴贝尔本身?

Javascript 为什么巴贝尔加载器是网页包的一部分,而不是巴贝尔本身?,javascript,webpack,build,babeljs,babel-loader,Javascript,Webpack,Build,Babeljs,Babel Loader,我正在学习如何使用JavaScript构建系统。如果babel loader是将React转换为JavaScript的transpiler,为什么它是webpack插件的一部分 传输和捆绑不是一个单独的过程吗 有没有资源可以解释所有这些框架是如何结合在一起并使构建系统能够详细工作的?我似乎只能在官方文档中找到高层次的概述 Webpack是一个“模块绑定器”。它本身不会改变程序的来源(注意:有一些注意事项,例如缩小),只会将大型代码库的所有不同位连接在一起,以便通过Internet更轻松、更高效

我正在学习如何使用JavaScript构建系统。如果
babel loader
是将
React
转换为
JavaScript
的transpiler,为什么它是
webpack
插件的一部分

传输
捆绑
不是一个单独的过程吗

有没有资源可以解释所有这些框架是如何结合在一起并使构建系统能够详细工作的?我似乎只能在官方文档中找到高层次的概述

  • Webpack是一个“模块绑定器”。它本身不会改变程序的来源(注意:有一些注意事项,例如缩小),只会将大型代码库的所有不同位连接在一起,以便通过Internet更轻松、更高效地交付(取决于用例;您可能会捆绑服务器端代码,在这种情况下,好处主要在于能够整合构建工具)
  • webpack加载器用于在捆绑期间处理文件。它特定于webpack(没有webpack,您不会使用
    babel loader
    ,除非可能与其他构建工具互操作,但即使这样,它也不会单独使用)
  • 在webpack配置中,指定文件扩展名到webpack加载器的映射。例如,常见的情况是使用
    ts loader
    处理
    .ts
    文件。这样,webpack会将扩展名为
    .ts
    的文件传递给TypeScript编译器,并在捆绑包中使用此编译的输出,而不是源程序的广告
  • Babel是一个编译器;它接受ESNext程序并生成一个等效的ES3+兼容程序
  • babel-loader
    执行
    ts-loader
    对TypeScript所做的操作;将文件传递给babel编译器,并返回结果以在bundle中代替原始源程序使用
运输和捆绑不是一个单独的过程吗

是的。这就是为什么我们有“打包机webpack”和“编译器/传输器Babel”以及
Babel loader
将两者连接在一起。没有
Babel loader
webpack将无法通过Babel处理文件


希望有帮助。

完全有道理。谢谢:)