问题标签 [webpack-2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何在没有 webpackJsonp 的情况下生成 js 文件
我希望 webpack 处理 js 文件(minify/uglify)但不将其格式化为模块 - 所以它只是包含初始代码(minified/uglified)的原始 js 文件,没有任何 webpackJsonp。在浏览器中加载 webpack 之前,我需要这样一个文件来加载它,以检测是否加载了自定义字体。如果我使用 webpack 模块来执行此操作,那么我的包会在字体文件加载后加载。
javascript - Webpack 2 - 代码拆分顶级依赖项
最终编辑
tl;博士的解决方案是这是不可能的。尽管下面的最佳答案确实有一些很好的信息。
考虑下面的代码,来自contacts.js
. System.import
这是一个动态加载的模块,在代码中的其他地方按需加载。
如果SharedUtil1
也用于其他动态加载的模块,System.import
我将如何从所有这些模块中SharedUtility1
排除,并且仅在第一次需要时按需加载?
顶级的System.import
不起作用SharedUtil1
,因为我的导出依赖于它:导出只能放在模块代码的顶级,而不是任何类型的回调中。
这对 Webpack 可行吗?我正在使用 2.0.7 测试版。
更新 1
我认为捆绑加载器是我想要的,但不,它会将您导入的模块变成一个不同的函数,一旦异步加载完成,您就可以通过回调调用该函数以访问实际模块。这意味着您不能透明地使模块 X 异步加载而不对代码进行重大更改,更不用说您回到最初描述的问题,如果您的顶级模块依赖于 now-asynchronously加载的依赖项,没有办法导出它,因为导出必须在顶层。
Webpack 中是否没有办法表示依赖项 X 将按需加载(如果需要),并且有任何导入的模块将其导入以透明地等待导入过程?我认为这个用例对于任何远程大型应用程序来说都是必要的,所以我不得不认为我只是错过了一些东西。
更新 2
根据彼得的回答,我试图让重复数据删除工作,因为他提到的 commonChunk 插件涉及在端点之间共享代码,并且因为require.ensure
将加载的代码放入回调中,从而阻止您使用 ES6export
依赖它的任何代码。
至于重复数据删除,contacts.js
并且tasks.js
都像这样加载相同的 sharedUtil
import SharedUtil1 from '../../sharedUtilities/sharedUtility1';
我尝试将 webpack 运行为
webpack --optimize-dedupe
并且还通过添加
到 webpack.config。在这两种情况下,虽然 sharedUtil 代码仍然放置在联系人和任务包中。
webpack-hmr - Webpack 2 的第二遍构建变得越来越慢
我正在使用 HMR 试用 webpack 2,但遇到了一个奇怪的问题。每次修改后,增量更新都会很快完成,然后Compilation needs an additional pass and will compile again.
会显示消息。之后,构建完成需要几秒钟。
问题是每次更改后,构建(第二次传递)持续大约半秒,并且在一段时间后变得无法使用。
我正在使用带有样式、css、sass 和 babel 加载器的 webpack 2.1.0 beta 4。
我将不胜感激有关如何使构建时间保持不变的任何想法。
function - 在 Webpack 2 中传递环境变量
有人可以帮我弄清楚如何在 Webpack 2 配置中传递环境变量吗?尝试通过使用 CONFIG 函数并使用./node_modules/.bin/webpack --env.ENV development
设置它们来传递环境变量。使用options.ENV
等时,我得到一个TypeError: Cannot read property 'ENV' of undefined
.
javascript - 使用 webpack 定义全局变量
是否可以使用 webpack 定义一个全局变量以产生如下结果:
我看到的所有示例都使用外部文件require("imports?$=jquery!./file.js")
javascript - 是否可以让 webpacks System.import 使用 ajax(用于进度事件)?
所以我刚刚更新到 webpack 2 并且有了我的第一个工作设置,其中 webpack 通过查看 System.import 调用自动创建块。好甜!
但是,我使用 ajax 调用加载初始块,以便在加载时显示进度
所以我的问题是,我能否以某种方式覆盖或更改 System.import 的功能,以便它使用我可以监听事件的 ajax 请求,而不是加载带有<script>
标签的块?
reactjs - 如何在编译时要求名称未知的模块?
我有一个加载应用程序骨架的 React Web 应用程序。在浏览器中加载骨架后,它会通过 ajax 从服务器获取模块名称列表。然后,它需要从服务器获取这些模块名称,并将它们作为 React 组件加载到骨架中。
我从 Webpack 1 开始,在加载动态模块时遇到了麻烦,因为 require.ensure() 需要在构建时找出名称。
我搬到了加载动态模块工作的 JSPM,但在项目中产生了其他问题。
我想回到 Webpack 但我不知道如何实现动态组件包加载。
也许使用Webpack2?
有任何想法吗?
javascript - Webpack 2:无法解析模块
我有一个这样的项目:
这是 webpack 配置文件:
在 app.js 中,我有:
这在 webpack 1.x 中按预期工作,但 myModule 模块无法通过 webpack 2 解析,我收到“找不到模块:无法解析 ... \app 中的‘模块’”。
似乎 modulesDirectories 条目被忽略了,基本 URL 对应于条目的文件夹。
我该怎么做才能使模块正确解析 webpack 2 ?
javascript - webpack 2 lazy loading
I have dynamic import modules with common dependency, and i need common.js with g.js (in this example), but it does not work, i have empty common. What is wrong? I want common with g.js
index.js
t.js
d.js
webpack.config.js
reactjs - 反应工具箱和 Webpack 2
我正在构建一个基于https://github.com/ctrlplusb/react-universally的反应应用程序,它使用 Webpack 2。
对于我的 UI 组件,我想使用http://react-toolbox.com。
我在另一个项目中使用 Webpack 1 为 react-toolbox 设置了 webpack 设置。不知何故,类似的配置不再起作用:
我当前的 webpack 配置如下所示: