- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近开始学习 Webpack。我所理解的是,它将各种 Assets (如 JavaScript、CSS 等)捆绑到捆绑包中。
但是对于 JavaScript,我们不能用 ES6 模块实现相同的功能吗?
例如,理想情况下,我们的着陆页 .html 文件中只能有一个模块类型的脚本,并且该脚本模块将以 ES6 方式导入 require 依赖项。
我认为几乎所有现代浏览器都支持 ES6 模块。在这种情况下,Webpack 不是多余的吗?
最佳答案
对于大多数浏览器,是的,您只需使用 ES6 模块即可完成将所有需要的代码发送到浏览器,无需 Webpack。但是,您是否愿意这样做是另一回事,这取决于您的目标浏览器以及您的应用程序包含多少个模块(与您对大量网络请求的容忍度进行平衡)。
浏览器对 ES6 模块的支持现在几乎无处不在,但例如,在 Android 上,export
目前在嵌入式应用浏览器中不受支持。所以,如果你想让你的脚本在 Android 上的 Facebook 或 LinkedIn 或 Twitter 的应用程序内浏览器中工作,那将是一个问题。
一个潜在的更大问题是,如果您不捆绑代码,您可能需要预期的网络请求数量。如果您的应用程序包含,比如说,两打模块(根本不是一个疯狂的模块数量),那就是您的浏览器必须发出的两打网络请求。正如您可能知道的那样,通过两个请求加载(比如)200K 的 JavaScript 比在一个请求中加载相同的 200K 的 JavaScript 慢得多。
最后,即使您打算在客户端加载两打模块,大概您也希望加载缩小的 JavaScript(即使您不进行转译,只是缩小)。这意味着您已经在进行一些服务器端代码操作。这意味着,捆绑所有代码作为最后一步仍然几乎总是有意义的。
希望这可以帮助!这是一个很好且合理的问题;只是回答它让我想到了我以前没有真正考虑过的东西。
关于Webpack 与 ES6 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57448588/
像这样的webpack.config.js文件可以导出多个配置: module.exports = [{entry: 'a.js'}, {entry: 'b.js'}]; 当我调用 webpack 时
我正在尝试在 webpack 配置文件中设置 browserslist,但不知道如何执行此操作。 在 webpack.config 中尝试了以下内容: 'use strict'; module.exp
If you are using webpack v5 or above you do not need to install this plugin. Webpack v5 comes with t
使用webpack 2时,为什么需要以相反的顺序为“use:”键添加加载程序?为什么不从头到尾,从左到右列出每个加载器?有什么理由吗? 最佳答案 看起来像是一种约定,它很容易成为匹配执行顺序和源顺序的
当我 web pack 的时候 --watch --config webpack.production.config.js --mode production 我有这个错误: ERROR in Typ
我有一个使用 Twig 进行模板的项目。其中的所有数据都是静态的,但为了清楚起见,我已经在其他 Twig 文件中分离出部分页面(否则一个文件中会有数百行标记)。 我使用 webpack 作为构建工具,
我使用 cli 创建了一个 vue.js 项目。我使用了 webpack 模板。我已经为此工作了几天,并且工作顺利。 现在我需要向项目添加一个 npm 包。这个包建议我对 webpack 配置进行一些
我正在使用运行“node_modules/.bin/webpack”,但我知道可以配置路径以便您只需键入“webpack ”。不过,我找不到方法。 :/ 最佳答案 如果你安装一个包 globally
我正在服务器渲染我的 react 应用程序,如下所示: export default ({ clientStats }: { clientStats: any }) => async (req: Re
我试过包含一个通配符,它破坏了构建;和多个 favicon字段条目,它只使用最后一个输入。我如何支持使用此插件包含多个网站图标文件? 最佳答案 您还需要包括 favicons-webpack-pl
我正在使用 webpack 编译我的 Reactjs 文件。在我的项目中,我需要对后端进行 API 调用。 现在我有 3 个环境,分别是本地环境、开发环境和生产环境。 所以我有一个constants.
我正在将所有文件构建到“dist”文件夹中。 Dist ->index.html ->bundle.js 我已将配置设置为在我需要的特定端口上运行。 { entry: './src/ind
我想使用由 Closure Compiler 使用 Webpack 生成的 SourceMap,但我不知道该怎么做。 这是我的 webpack 配置: const ClosureCompiler =
有没有办法接收当前文件路径,就像在 requirejs 中一样? define(['module'], function (module) { console.log(module.uri)
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 4年前关闭。 Improve this questi
我是 webpack 的初学者用户。我想写一个webpack.config.js建立我的项目。但是有什么不对的地方! 这是我的 package.json (已安装所有依赖项): { "name":
我从这里开始:https://github.com/vuejs/vue-cli 我不确定它是否使用 Webpack。 包含/使用 webpack 的项目将包含哪些文件? 最佳答案 如果您的项目正在使用
Webpack,你将要了我的命。 html-webpack-plugin 在生产中运行良好。 'dist' 文件夹加载了我的 html 模板和插入的包。好酷。 但是,webpack-dev-serve
想象一下我有一个这样的项目: /moduleA/src... /moduleB/src... /mainApp/src... 每个模块和主应用程序都有一个单独的 webpack.config。模块是库
根据 webpack 文档,我尝试将 UglifyJSPlugin 添加到 webpack 4 项目中,但我仍然在我的包中看到死代码甚至注释,这让我认为我的 uglify 插件配置没有被使用。 Lin
我是一名优秀的程序员,十分优秀!