问题标签 [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.

0 投票
0 回答
64 浏览

javascript - 如何防止每次都编译第三方插件块?

我有一个通用文件common.js需要一个 jQuery 插件作为异步块。

并且 webpack 可以生成一个chunk.common.js并且chunk.select.js它会在需要时加载chunk.common.js然后加载。chunk.select.js

但我的问题是每次我base.js都编辑chunk.common.jschunk.select.js编译。我怎样才能制作chunk.select.js一个不应该每次都编译的通用块。

我的 webpack 配置是这样的

0 投票
0 回答
391 浏览

angularjs - Webpack:配置 npm 模块加载

我是 webpack 的新手,我没有找到一种方法将我的供应商库从 node_modules 及其依赖项(订单和主文件 [js,css])加载到单独的包文件中。
我曾经使用 bower_components,但根据这个文档,我搬到了 npm。

例子

我的系统中有角度材料,它取决于角度和他自己的 css 文件(angular-material.css)。

我已经尝试了什么

我使用了webpack.optimize.CommonsChunkPlugin,它确实加载了 venodors js 文件,但是按照我在配置文件中输入的顺序(请参阅下面附加的配置文件),所以如果我在 angular 之前放置 angular 材料,则运行将失败。

我尝试将解析对象配置为从“bower.json”中读取,其中配置了主文件描述和依赖项,但效果不佳。

我的配置文件

我想达到什么

Webpack 将生成 2 个包:

  • vendor.bundle.js - 包含所有供应商主 js 文件的文件,加载顺序正确。
  • app.bundle.js - 一个包含我所有应用程序内部文件的文件。
  • vendor.bundle.css - 包含所有供应商主 css 文件的文件

两个供应商捆绑包都应与 bower.json 依赖项中的定义相同。
我的 Webpack 版本是 2.1.0-beta.25

0 投票
1 回答
3185 浏览

postcss - Webpack 2 CSS 模块支持

现在我正在将我当前的项目从Webpack 1to移动Webpack 2,我遇到了一些以前运行良好的 css 模块问题。特别是,我使用css-loaderand react-css-modules。我目前的开发配置如下:

它工作正常。对于生产,我使用ExtractTextPlugin(版本 2.0.0-beta.4),我的 Webpack 配置是这样的:

在这种情况下,构建失败并出现以下错误:

所以它似乎没有预先添加本地前缀。文档中也提到了css-loader

注意:对于使用 extract-text-webpack-plugin 进行预渲染,您应该在预渲染包中使用 css-loader/locals 而不是 style-loader!css-loader。它不嵌入 CSS,只导出标识符映射。

所以我尝试了 loader: 'css-loader/locals' 并将其添加到选项中,但不幸的是,没有任何效果。

我也尝试用 postcsspostcss-modules插件解决这个问题。它修复了构建,但是当我尝试启动我的应用程序时,它看起来没有适当的 css 名称映射导入。

0 投票
1 回答
12574 浏览

webpack - Webpack 2 eslint-loader 自动修复

在 webpack 1.x 中,我可以在我的 webpack 配置中使用 eslint 属性来启用自动修复我的 linting 错误,方法是:

然而,在 webpack 2.x 中,到目前为止我一直无法使用自动修复功能,因为我不知道在我的 webpack 配置中设置它的位置。在我的 webpack configFile 中使用 eslint 属性会抛出一个WebpackOptionsValidationError.

0 投票
2 回答
1105 浏览

webpack - Webpack 2 生成空的 CSS 文件

在阅读了大量 SO 问题(以及在线研究)之后,我仍然无法使用 Webpack 2(v2.1.0-beta.27)、ExtractText 插件(v2.0.0-beta)生成 CSS 文件(其中包含 CSS) .4)、sass-loader (v3.2.0)、css-loader (v0.26.1) 和 style-loader (v0.13.1)。

目前,Webpack 2 成功完成并按预期生成了我的 JS 文件,但我的app.css文件是空的(Chrome 会为该文件抛出 404)但根据我在 Chrome 中的 Sources 面板在正确的位置生成。这使我相信存在与css-loader其他装载机有关的问题。

我当前的webpack.config.js文件如下所示:

我的webpack.style.js文件如下所示:

我的文件结构看起来像这样(这是正确的):

文件结构

在尝试迁移到 Webpack 2 之前,一切都按预期工作。唯一改变的是与 Webpack 2 升级有关,所有文件路径和我使用的加载器都是相同的(升级版本除外)。

这就是 Webpack 1 中重要部分的样子(我在上面的这个例子中去掉了 postcss-loader)

最终我想在其中创建 1 个 CSS 文件/secured_assets/css/app.css,其中包含我requirewebpack.style.js. 此时,我没有收到任何错误,app.css也没有内容,我在我的网络面板中看到 404(尽管它显示在 Chrome 的源中)。

更新

当我简单地运行它时,它会正确webpack --config ./webpack.dev.js创建我的。app.css当我运行webpack-dev-server --config ./webpack.dev.js它没有。所以看起来是一个可能的 webpack-dev-server 问题......

0 投票
0 回答
118 浏览

typescript2.0 - TypeScript angular 1.5 WebPack 和代码拆分 sytem.import

我正在尝试配置代码拆分

  • 角度 1.5
  • 打字稿 2.x
  • 网络包 2

基本设置:我使用 vscode typescript 编译器将 ts 文件编译到与源文件夹具有相同文件夹结构的输出文件夹。

webpack 入口点是 testapp\testapp.js 其中包含

目前,pageonecomp.ts 也没有 pagetwocomp.ts 使用 myservice.ts 中的任何内容。当我编译并运行 webpack 2 时,它显示:

这正是我想要的,0.bundle.js 包含 MyService,testapp.bundle.js 包含 pageonecomp、pagetwocomp 和 testapp angular 模块。

但现在我想使用从 pageonecomp.ts 中的 myservice.ts 导出的 MyService 类型。为了使打字稿能够在 MyService 类上提供代码完成,我需要在 pageonecomp.ts 中导入 MyService 类型:

但是当我现在运行 webpack 时,代码拆分不再起作用,从输出中可以看出:

MyService 类现在包含在 testapp 包中,我不想要它......

有谁知道如何使它工作?目标是让 webpack 仅根据 import 语句创建我的包,以确定包中应该包含的内容,并让 System.import 指定应该在哪里进行代码拆分。

注意:目前我不需要动态加载额外的角度模块,我只是试图为多个入口点(多个小型水疗中心)制作捆绑包,以及在这些水疗中心之间共享的几个常见捆绑包。

0 投票
0 回答
358 浏览

javascript - 使用单独的文件夹时Webpack2无法解析模块

这是我的项目文件夹:app

  • 开发工具
    • 节点模块
    • 包.json
    • webpack.config.js
  • 源代码
    • 模块(文件夹)
    • main.ts
    • 索引.html
  • 距离

webpack.config.js:

main.ts:

当我尝试构建我的项目时,我收到此错误:

我在这里做错了什么?此外,更改文件夹结构也不是解决方案。我需要找到一种方法使其按原样工作,而无需修改从main.ts.

据我所知,我的解析有问题,webpack.config但我不知道出了什么问题以及为什么它不能解析我的模块路径。

谢谢你。

0 投票
1 回答
2560 浏览

sass - 如何使用 Webpack 2 导入 Foundation 的 SCSS?

我正在尝试使用 sass-loader 将 Foundation 与 Webpack 2 一起使用。

我正在导入 Foundation

并因为找不到基础而出现导入错误。阅读 sass-loader 的文档表明我应该实际使用:

这修复了导入错误,但产生了一个新问题。

我收到的错误是

ModuleBuildError in Module build failed: @import "normalize"; ^ 未找到或无法读取要导入的文件:规范化

要导入的文件未找到或不可读:规范化父样式表:... /node_modules/foundation-sites/scss/foundation.scss in ... /node_modules/foundation-sites/scss/foundation.scss(第 9 行,第 1 列)

在我的 webpack 配置文件中,我还使用了 ExtractTextPlugin,如下所示:

我相信这来自 webpack 出于某种原因没有解析到 node_modules 文件夹,但不确定原因来自哪里。

0 投票
1 回答
1910 浏览

reactjs - webpack:找不到入口模块中的错误:错误:无法解析“文件”或“目录”.jsx

使用这个webpack.config.js

有这个结构:

index.js

并且Courses.jsx

并且CourseList.jsx

运行时webpack,我收到此错误:

将我的.jsx文件扩展名重命名为.js它时有效。

0 投票
2 回答
5663 浏览

typescript - 使用 Webpack 2 和 awesome-typescript-loader 的 baseUrl 和路径解析

我想设置我的项目,所以无论何时我使用下面的行:

决定:

./dist/blahblah/core/BlahBlahService

我已经阅读了在线资源并应用了指示设置(我也包括在下面)。这在 Visual Studio Code 中工作;即它没有向我显示错误,因此它能够正确读取我在 tsconfig 中的设置并理解它。我想让同样的事情发生在 Webpack 上。

但是我收到以下错误:

./xxxxxxxxxxx.ts 中的错误找不到模块:错误:无法解析“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”中的“@blahblah/core/BlahBlahService”

我的 Web 应用程序中有以下设置:

  • 角 2 版本 2.2.0
  • 打字稿版本 2.0.8
  • Webpack 版本 2.1.0-beta.26
  • 真棒打字稿加载器版本 2.2.4

我的 tsconfig 中还有以下内容:

我的 webpack.js 文件中有以下设置: