首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何用webpack从两个或多个main.scss文件生成多个输出目录

Webpack是一个现代化的前端构建工具,它可以帮助开发者将多个入口文件打包成一个或多个输出目录。下面是使用Webpack从两个或多个main.scss文件生成多个输出目录的步骤:

  1. 首先,确保你已经安装了Node.js和npm,并在项目目录下初始化了一个新的npm项目。
  2. 在项目根目录下创建一个名为src的文件夹,并在其中创建两个或多个名为main.scss的文件。这些文件将作为入口文件。
  3. 在项目根目录下创建一个名为webpack.config.js的文件,用于配置Webpack。
  4. webpack.config.js中,首先引入必要的模块:
代码语言:txt
复制
const path = require('path');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
  1. 然后,配置Webpack的入口文件和输出目录。假设你有两个入口文件main1.scssmain2.scss,并且你想将它们分别打包到dist1dist2两个输出目录中:
代码语言:txt
复制
module.exports = {
  entry: {
    main1: './src/main1.scss',
    main2: './src/main2.scss',
  },
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: '[name].js',
  },
  // ...
};
  1. 接下来,配置Webpack的加载器和插件。在这个例子中,我们使用sass-loader加载器来处理SCSS文件,并使用MiniCssExtractPlugin插件将CSS提取到单独的文件中:
代码语言:txt
复制
module.exports = {
  // ...
  module: {
    rules: [
      {
        test: /\.scss$/,
        use: [
          MiniCssExtractPlugin.loader,
          'css-loader',
          'sass-loader',
        ],
      },
    ],
  },
  plugins: [
    new MiniCssExtractPlugin({
      filename: '[name].css',
    }),
  ],
};
  1. 最后,运行Webpack进行打包。可以在package.json中添加一个脚本命令来简化打包过程:
代码语言:txt
复制
{
  "scripts": {
    "build": "webpack --config webpack.config.js"
  }
}

运行以下命令来执行打包:

代码语言:txt
复制
npm run build

Webpack将会根据配置文件中的入口文件和输出目录,将每个入口文件打包成对应的输出文件。

总结起来,使用Webpack从两个或多个main.scss文件生成多个输出目录的步骤包括:创建入口文件、配置Webpack的入口和输出、配置加载器和插件、运行Webpack进行打包。这样可以方便地将多个入口文件打包到不同的输出目录中,实现更灵活的前端构建。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

webpack@3简单使用

语言多 变化快 webpack横空出世。 webpack入门到真实项目配置(注意文中作者配置的是webpack@3)————掘金 为什么要用webpack?...Webpack 最主要的目的就是为了解决这个问题,将所有小文件打包成一个多个文件,官网的图片很好的诠释了这个事情,除此之外,Webpack 也是一个能让你使用各种前端新技术的工具。...filename: "bundle.js" // 打包后输出文件文件名 } } 现在我们可以开始使用 webpack 了,在命令行中输入 node_modules/.bin/...可以发现原本两个 JS 文件只有 100B,但是打包后却增长到 2.66KB. 。因为 module.export 浏览器是不支持的,所以 webpack 将代码改成浏览器能识别的样子。.../CSS/main.scss' 引入css的代码。css-loader让css文件也支持引入,因为webpack中把所有的文件都当做模块 然后命令行npx webpack开始编译 ?

98860
  • Webpack中hash与chunkhash的区别,以及js与css的hash指纹解耦方案

    比如,在Webpack编译输出文件的配置过程中,如果需要为文件加入hash指纹,Webpack提供了两个配置项可供使用:hash和chunkhash。那么两者有何区别呢?其各自典型的应用场景又是什么?...compiler对象只在Webpack启动时构建一次,由Webpack组合所有的配置项构建生成。...所以以上配置的编译输出文件,所有的文件名都会使用相同的hash指纹。如下: ? 这样带来的问题是,三个js文件任何一个改动都会影响另外两个文件的最终文件名。...结合上文提到的种种,考虑一下这个问题:如果只修改了main.scss文件,未修改main.js文件,那么编译输出的js文件的hash指纹会改变吗? 答案是肯定的。...修改了main.scss编译输出的css文件hash指纹理所当然要更新,但是我们并未修改main.js,可是js文件的hash指纹也更新了。

    2K70

    怎样才能写出更好的 CSS

    分块与导入 可维护性和可读性的角度来说,你无法将所有代码都保存在一个大文件中。在实验构建小型应用时,这种做法尚且可行,但是到了专业的级别……想都不要想。...博文组件 写多个按钮 3. 组织 CSS 文件:7-1模式 你还跟得上节奏吗?很好!现在让我们来介绍如何组织 CSS 文件。... SCSS 到 CSS 首先,你需要 Node.js 和 NPM( Yarn)。 我们将使用一个名为 node-sass 的包,它可以让我们将 .scss 文件编译为 .css 文件。...它的 CLI(命令行界面)相当容易使用: node-sass [options] 它有多个选择,但我们只使用其中两个: -w:监视目录文件。...--output-style:CSS文件输出内容。它的值可以是:嵌套、展开、紧凑、压缩。我们将使用它来构建你的CSS文件。 如果你是一个好奇心很重的人(我希望如此,因为开发人员应该好奇!)

    1.7K10

    Webpack】315- 手把手教你搭建基于 webpack4 的 vue2 多页应用

    框架解决的问题 webpack 根据页面不同进行打包 其实原理是 webpack 根据页面入口文件,将一个 SPA 项目分成多个 SPA 进行打包。...多页:最终打包生成多个入口( html 页面),一般每个入口文件除了要引入公共的静态文件( js/css )还要另外引入页面特有的静态资源 单页:只有一个入口( index.html ),页面中需要引入打包后的所有静态文件...,dir/page.html * 多页面框架中可以采用这种方式增加层级目录,一个目录下有多个页面 * 也可以使用 router 进行同级目录下一个html,通过 router 控制路由 */...html页面的标题 filename: filename, // 生成到dist目录下的 html 文件名称 template: resolve(pageHtml), // 模板文件,不同入口可以根据需要设置不同模板...}.html`; /** * 支持多级目录,dir/page.html * 多页面框架中可以采用这种方式增加层级目录,一个目录下有多个页面 * 也可以使用 router 进行同级目录下一个html,通过

    1.1K10

    webpack】流行的前端模块化工具webpack初探

    在开发代码文件 --> 生产代码文件的转换过程中,我们到底需要做些什么呢?没错,这一切都和webpack(gulp)有关: ?...那么我们想,能不能将无数个script文件合为一个(几个)文件,这样请求数不就大大减少了吗?没错,webpack打包做的就是这样的作用 为什么要用webpack实现JS压缩?...也就是上文提到的,通过webpack的转换,浏览器无法“理解”的开发代码生成一份浏览器能够“理解”的生产代码 commonJS和AMD规范 大量的写法到webpack的广泛使用,实际上就是前端模块化发展的过程...= require('moduleInpu') //输入模块 module.exports = { //输出模块   ... } 下面我就一一来介绍如何用webpack实现上述三种功能: 首先你得创建一个文件.../cd.js"> 2-3然后同样是进入终端,写入webpack再回车,回到目录,此时已经生成了dist/ab.js和dist/cd.js两个文件 ?

    52540

    webpack】流行的前端模块化工具webpack初探

    在开发代码文件 --> 生产代码文件的转换过程中,我们到底需要做些什么呢?没错,这一切都和webpack(gulp)有关: ?...那么我们想,能不能将无数个script文件合为一个(几个)文件,这样请求数不就大大减少了吗?没错,webpack打包做的就是这样的作用 为什么要用webpack实现JS压缩?...也就是上文提到的,通过webpack的转换,浏览器无法“理解”的开发代码生成一份浏览器能够“理解”的生产代码 commonJS和AMD规范 大量的写法到webpack的广泛使用,实际上就是前端模块化发展的过程...= require('moduleInpu') //输入模块 module.exports = { //输出模块   ... } 下面我就一一来介绍如何用webpack实现上述三种功能: 首先你得创建一个文件.../cd.js"> 2-3然后同样是进入终端,写入webpack再回车,回到目录,此时已经生成了dist/ab.js和dist/cd.js两个文件 ?

    1.1K60

    手把手教你搭建基于 webpack4 的 vue2 多页应用

    框架解决的问题 webpack 根据页面不同进行打包 其实原理是 webpack 根据页面入口文件,将一个 SPA 项目分成多个 SPA 进行打包。...多页:最终打包生成多个入口( html 页面),一般每个入口文件除了要引入公共的静态文件( js/css )还要另外引入页面特有的静态资源 单页:只有一个入口( index.html ),页面中需要引入打包后的所有静态文件...,dir/page.html * 多页面框架中可以采用这种方式增加层级目录,一个目录下有多个页面 * 也可以使用 router 进行同级目录下一个html,通过 router 控制路由...html页面的标题 filename: filename, // 生成到dist目录下的 html 文件名称 template: resolve(pageHtml), // 模板文件,不同入口可以根据需要设置不同模板...}.html`; /** * 支持多级目录,dir/page.html * 多页面框架中可以采用这种方式增加层级目录,一个目录下有多个页面 * 也可以使用 router 进行同级目录下一个html

    1.1K10

    webpack(4.8.3)总结之一

    webpackwebpack-cli安装后在初始化package.json,否则会报错) 4、根目录下创建webpack.config.js配置文件目录结构图,配置文件的具体配置内容将在基础配置中讲述...为输出文件,即打包生成文件所放置的目录 例: webpack '....:path.join(__dirname,’dist’),//输出目录,与webpack.config.js对比,如不生成在当前目录,输出目录需给全路径 filename:'js/[name]...//如需生成多个html页面,则new HtmlWebpackPlugin()多个 //使用jade/pug等html模版,则需要安装对应的loader,并在module.rules新增解析规则.../src/html/index.html’,//要生成html文件的原文件 chunks: ['index' //需要插入该html的js文件入口文件中选取对应的js文件名称

    80540

    理论|webpack2 终极优化

    webpack2增加了一些新特性也到了预发布阶段,是时候告诉大家如何用webpack2优化你的构建让它构建出更小的文件尺寸和更好的开发体验。... 插件让被依赖次数更高的模块靠前分到更小的id 来达到输出更少的代码,在webpack2里这些已经这两个插件已经被移除了因为这些功能已经被内置了。...$/ 2)loader使用include命中只需要处理的文件,比如babel-loader的这两个配置: 只对项目目录下src目录里的代码进行babel编译 项目目录下的所有js都会进行babel编译...发布到npm的库大多数都包含两个目录,一个是放着cmd模块化的lib目录,一个是把所有文件合成一个文件的dist目录,多数的入口文件是指向lib里面下的。...entry A 和 B 生成的js文件输出的html: 输出目录结构 分析输出结果 webpack有一个工具叫做webpack analyze 以可视化的方式直观的分析构建,来进一步优化构建结果和速度

    58810

    webpack2 终极优化

    webpack2增加了一些新特性也正式发布了一段时间,是时候告诉大家如何用webpack2优化你的构建让它构建出更小的文件尺寸和更好的开发体验。...OccurrenceOrderPlugin 插件让被依赖次数更高的模块靠前分到更小的id 来达到输出更少的代码,在webpack2里这些已经这两个插件已经被移除了因为这些功能已经被内置了。...$/ loader使用include命中只需要处理的文件,比如babel-loader的这两个配置: 只对项目目录下src目录里的代码进行babel编译 { test: /\.js$/,...发布到npm的库大多数都包含两个目录,一个是放着cmd模块化的lib目录,一个是把所有文件合成一个文件的dist目录,多数的入口文件是指向lib里面下的。...requires: ['A', 'B'], }), ] }; 将会输出一个index.html文件,这个文件将会自动引入 entry A 和 B 生成的js文件输出的html

    57020

    webpack2 终极优化

    webpack2增加了一些新特性也正式发布了一段时间,是时候告诉大家如何用webpack2优化你的构建让它构建出更小的文件尺寸和更好的开发体验。...OccurrenceOrderPlugin 插件让被依赖次数更高的模块靠前分到更小的id 来达到输出更少的代码,在webpack2里这些已经这两个插件已经被移除了因为这些功能已经被内置了。...$/ loader使用include命中只需要处理的文件,比如babel-loader的这两个配置: 只对项目目录下src目录里的代码进行babel编译 { test: /\.js$/,...发布到npm的库大多数都包含两个目录,一个是放着cmd模块化的lib目录,一个是把所有文件合成一个文件的dist目录,多数的入口文件是指向lib里面下的。...requires: ['A', 'B'], }), ] }; 将会输出一个index.html文件,这个文件将会自动引入 entry A 和 B 生成的js文件输出的html

    1.1K110

    webpack2 终极优化

    webpack2增加了一些新特性也到了预发布阶段,是时候告诉大家如何用webpack2优化你的构建让它构建出更小的文件尺寸和更好的开发体验。 优化输出 打包结果更小可以让网页打开速度更快以及简约宽带。...插件让被依赖次数更高的模块靠前分到更小的id 来达到输出更少的代码,在webpack2里这些已经这两个插件已经被移除了因为这些功能已经被内置了。...$/ loader使用include命中只需要处理的文件,比如babel-loader的这两个配置: 只对项目目录下src目录里的代码进行babel编译 { test: /\.js$/,...发布到npm的库大多数都包含两个目录,一个是放着cmd模块化的lib目录,一个是把所有文件合成一个文件的dist目录,多数的入口文件是指向lib里面下的。...requires: ['A', 'B'], }), ] }; 将会输出一个index.html文件,这个文件将会自动引入 entry A 和 B 生成的js文件输出的html

    56220

    如何更优雅的编写CSS代码

    相信我,该模式非常简单,你只需记住如下两条原则即可: 所有的分块放在7个不同的文件夹中 把这些分块通过 import 引入到一个 main.scss 文件中,该文件放到根目录,嗯,就是这么简单。...此文件包含用于构建页面所需的组件,:buttons、forms、swipers、popups等等。 layout: 用于布局页面的不同部分。...vendors: 有什么 app 项目不依赖于外部库吗?将那些不依赖与你自己写的样式文件防治站该文件夹中。你可能想在这里面添加 Font Awesome 文件、Bootstrap 等等类似文件。...css 文件进行引入 在package.json文件中添加这些script 生成项目:mkdir my-app && cd my-app 初始化项目:npm init 添加node-sass依赖库:npm...install node-sass --save-dev 创建你的文件夹,你的index.html和main.scs文件 -w: 监听目录文件

    1.9K10
    领券