Webpack 2:观看外部文件

Webpack 2: Watch external files

我有一个项目使用项目外部的源文件。实际上,有实际的项目源代码(一个 Typescript/Angular 2 应用程序,我们称之为 'core' 东西),这是一个通用的 Web 应用程序,它是使用这些外部的基本代码源文件。

外部文件包括额外的东西——可能是 SCSS 文件、图像、evn 额外的 JS。我希望它工作的方式是 webpack 将这些外部文件从任何源目录(这很关键,它不是核心项目的一部分)复制到本地 .tmp 目录。 .tmp 目录中的文件与核心 src 文件一起处理以生成产品输出。

我不知道如何将这些额外的外部源文件添加到监视列表中。实际上,我要做的是观察该目录,随着情况的变化,它将受影响的文件重新复制到本地 .tmp 目录并触发重新编译。

目前我必须重新启动 webpack 并有一个非常非常难看的解决方案,使用 Grunt 来监视额外的文件。这很讨厌,但从历史上看,这些变通办法一直是我不得不用 webpack 做的。

有没有人有更好的解决方案?理想情况下,我不想将 grunt 与 webpack 混用。 Webpack 应该能够做到这一点,但很难知道是否有现成的插件或者最好的方法是什么。

此外,请保留 "look for it on google" 或 "read the docs" 评论。我仔细梳理了所有内容,但没有找到任何东西。

提前致谢。

截至目前,Webpack 不会开箱即用地监视外部文件。你需要一个插件。

基本思路是有一个文件观察模块chokidar/watch,监听文件变化,当有变化时,重启webpack编译阶段。 Webpack 插件可以访问编译对象,我们需要将它挂接到编译器阶段,即 'emit' 、 'after-emit' 等

这个 Webpack 插件完全可以解决您的问题 - https://www.npmjs.com/package/filewatcher-webpack-plugin .