Javascript模块,加载程序,捆绑程序和程序包管理器的混乱

时间:2018-08-15 06:53:43

标签: javascript webpack module bower browserify

我没有得到所有联系。它们位于何处以及使用的影响如何。以下任何陈述正确吗?

  • 加载程序将驻留在浏览器中(加载后)吗?因此,当主应用javascript需要某个模块时,它将在后台加载
  • 如果我使用bundler(命令行工具),它将从我的所有模块(以及所有常用模块)中创建一个文件,因此不会进行异步加载,因为只有大的bundled.js?
  • 为什么我需要在同一项目中使用例如bower.json和package.json(npm仅用于下载构建实用程序)
  • 它们从哪里获取模块(npm存储库还是全部都有自己的模块?)
  • 包管理器只是将模块下载到您的项目中以进行进一步处理
  • npm模块仅包含.js文件
  • 您总是需要整理构建的方式(gulp,grunt,npm脚本)

到目前为止,我还没有找到包含以下信息的资源:打包程序可以做到这一点,装载程序可以做到这一点。

1 个答案:

答案 0 :(得分:1)

  
      
  • 加载程序将驻留在浏览器中(加载后)吗?因此,当主应用javascript需要某个模块时,它将在后台加载
  •   

加载程序是webpack的功能,这些加载程序用于处理webpack默认情况下无法理解的代码(css,sass,图像等)。它们仅在编译代码时使用,在发布代码时不包含加载程序。加载程序仅在构建期间运行。

->编辑:这不适用于该问题,因为该问题以例如require.js为例,但总体上还是相关的。

  
      
  • 如果我使用bundler(命令行工具),它将从我的所有模块(以及所有常用模块)中创建一个文件,因此不会进行异步加载,因为只有大的bundled.js?
  •   

您可以进行预取,预light,只有在需要时才可以加载块(包中的各个部分)(使用动态导入import(...)查找代码拆分。这使代码仅在进行时才被加载/请求)要加载。

  
      
  • 为什么我需要在同一项目中使用例如bower.json和package.json(npm仅用于下载构建实用程序)
  •   

如今,您不需要凉亭,大多数(如果不是全部)凉亭所拥有的东西都可以在npm存储库中找到。

  
      
  • 它们从哪里获取模块(npm存储库还是全部都有自己的模块?)
  •   

您下载的每个软件包都已上传到npm,您可以将npm看作是一个“ github”,但对于库而言。

  
      
  • 打包程序只是将模块下载到您的项目中以进行进一步处理
  •   

  
      
  • npm模块仅包含.js文件
  •   

错,看看引导程序。

  

您总是需要整理构建的方式(gulp,grunt,npm脚本)

是的,但是如果您要转播内容,则只能使用babel-cli。