javascript - 为 SASS(编译、产品缩小)、JS(Concat + 缩小)和多个 Vue 单页应用程序构建 Webpack 4 配置

标签 javascript webpack

尝试为我们的应用程序中的整个资源生成工作流程设置 webpack 设置。我不需要任何热重载、浏览器同步等。只需要监视更改,并在发生更改时重建相关对象。文件结构如下所示:

Folder Structure (我对这张图片表示歉意,我认真查找了其他方法来发布结构,但预览中没有任何效果,我可以在之后的评论中发布带有此输出的 fiddle 或代码笔)

唯一值得注意的地方是:

1) 每个单页迷你应用程序 (SPA) vue-spas 下的每个文件夹都会生成自己的应用程序输出文件。 2) js 下的构造中的所有项目都被连接并缩小为一个输出文件 (/dist/js/main.min.js),但 js/components/下的每个项目仅呈现该文件的缩小和损坏版本

最后,我知道这可能是一个很难解决的问题,但我现在让 Gulp 做一些工作,让 Webpack 做 Vue 编译,只是想看看是否可以合并到 webpack 中并让它做工作。

感谢您的帮助。

最佳答案

有几种方法。最简单的方法是为 entry point configuration 中的每个应用程序添加一个 key 。在您的 webpack.config.js 文件中。

在您的 webpack.config.js 文件中看起来像这样:

module.exports = {
  entry: {
    app1: './vue-spa/vue-spa1/app.js',
    app2: './vue-spa/vue-spa2/app.js'
    // etc
  }
};

这将在您的 dist 中为每个目录输出一个很好捆绑的应用程序文件。

默认情况下,如果您将生产变量传递给 webpack 构建命令,它将应用您正在寻找的所有优化。如果缺少开箱即用的功能,则可能有一个加载程序可以处理您需要的任何优化。

对于 Sass,您可以将 sass-loader 添加到您的 webpack 文件中: https://github.com/webpack-contrib/sass-loader

您的 devServer 可以递归地监视您的 vue-spa 目录的更改。

另一种方法是使用lerna——尽管这需要额外的配置,并且只有在您处于企业环境中(其中每个单独的应用程序都被发送到一个特定的应用程序)时才有必要。私有(private) NPM 注册表,并且需要单独的 semver。

关于javascript - 为 SASS(编译、产品缩小)、JS(Concat + 缩小)和多个 Vue 单页应用程序构建 Webpack 4 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58403459/

相关文章:

javascript - 提高 JavaScript 中工厂模式的内存效率

javascript - 在没有 POST 的情况下将大量数据从一个页面传递到另一个页面?

javascript - Laravel mix/webpack 不会触发通过 babel() 编译的脚本的监视功能

javascript - Webpack - 复制图像文件

javascript - Webpack 模块联合不适用于急切的共享库

javascript - 我如何获得 fullcalendar v.4.2.0 实例?

javascript - 从 Firefox 获取 HWND

javascript - Node.js 中出现这种输出的原因是什么?

javascript - 另一个文件夹中的 Node_modules

typescript - 是否可以将 html 文件作为变量加载到 typescript ?