账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    webpack如何打包多个CSS文件以及关于打包CSS的一些疑惑
    43
    0

    最近有一个项目,需要联动webpack来开发
    问题:

    1.我有多个CSS文件如何将多个CSS文件通过webpack打包成一个CSS文件?
    2.如何同时打包JS与css并且生成对应的CSS与JS文件?

    下面是我的代码

    var webpack=require('webpack'); var path=require('path');
     var ex = require("extract-text-webpack-plugin");
      var packCSS = new ex('./css/[name].min.css'); 
      // var HtmlWebpackPlugin=require('html-webpack-plugin');
       // var autoprefixer= require('autoprefixer');
        var UglifyJsPlugin = require('uglifyjs-webpack-plugin');
         module.exports={
        //入口文件配置
        entry:{
            style_js:"./src/style-index.js"
        },    // 输出文件配置
        output:{
            path:path.resolve(__dirname,'build'),
            filename:"[name].css",
            publicPath: '/build/dist/' //动态背景图片地址
        }, //    模块加载方式配置
        module:{
            loaders: [
                //加载方式
                {
                    test: /\.css$/,
                    loader:ex.extract("style-loader","css-loader")
                },
                // 字体文件打包方式及路径
                {test: /\.(eot|svg|ttf|woff|woff2)\w*/,loader: 'file-loader?publicPath=template/newtpl/&outputPath=font/'},
                // 打包图片及地址
                {test: /\.(png|jpg|gif)$/, loader: 'url-loader?limit=8192'},
                // SVG打包方式
                {test: /\.svg/, loader: 'svg-url-loader'},
                //js打包方式
                // {test:/\.js$/,exclude:/node_modules/,loader:'babel-loader'}
            ]
        }, //    插件配置
        plugins:[
            new webpack.ProvidePlugin({
                $: "jquery",
                jQuery: "jquery",
                "window.jQuery": "jquery"
            }),
            new webpack.optimize.UglifyJsPlugin(),
            packCSS
        ]
    

    };

    打包后总是提示

    Module parse failed: Unexpected token (1:1) You may need an
    appropriate loader to handle this file type.
    所有需要的模块我都已安装

    附上packe.json文件

    {
      "devDependencies": {
        "css-loader": "^0.28.7",
        "extract-text-webpack-plugin": "^3.0.2",
        "style-loader": "^0.19.1",
        "webpack": "^3.10.0"
      }
    }
    
    
    
    
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 空失忆┐ 普通会员 1楼

      Webpack是一个用于打包HTML、CSS、JavaScript、图片和其他资源的JavaScript库。它允许开发者在一个服务器上打包和分发他们的应用程序,同时保持代码的可重用性和可维护性。

      要打包多个CSS文件,你可以按照以下步骤操作:

      1. 首先,你需要在你的项目中创建一个CSS文件夹。这个文件夹应该包含你的所有CSS文件。

      2. 在你的项目目录中,打开终端并导航到CSS文件夹。

      3. 使用Webpack的css-loader来处理你的CSS文件。你可以选择不同的CSS处理器,例如style-loadercssnano等。你可以将这些处理器添加到你的Webpack配置文件中,例如module.exports

      4. 使用webpack命令来打包你的CSS文件。例如,如果你想打包所有的CSS文件,你可以使用webpack -p命令。

      关于打包CSS的一些疑惑:

      1. 为什么需要打包CSS?打包CSS可以提高代码的可读性和可维护性。它可以让你的CSS文件更清晰地组织在一起,使其更容易理解和维护。

      2. 为什么需要使用CSS处理器?CSS处理器可以帮助你更有效地处理CSS文件。它们可以帮助你清理CSS文件,合并CSS文件,处理CSS的注释,等等。

      3. 为什么需要使用style-loaderstyle-loader可以帮助你处理CSS文件的异步加载。它可以将CSS文件转换为JavaScript文件,然后在页面加载时运行JavaScript文件。

      4. 为什么需要使用cssnanocssnano是一个轻量级的CSS处理器,它可以更好地保留CSS的原始样式。它的优点是它可以有效地减少CSS文件的大小,同时保持CSS的原始样式。

      5. 为什么需要使用webpack命令?webpack命令可以帮助你打包你的CSS文件。它可以让你在服务器上打包和分发你的应用程序,同时保持代码的可重用性和可维护性。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部