• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

vue组件库搭建报错问题vue-loader报错、gulp打包css报错,包含组件库打包文件webpack和gulp

武飞扬头像
森林的尽头是阳光
帮助3

1、vue-loader报错

报错详情
vue-loader 17.0.0运行webpack打包命令时会报错:
学新通

解决方法:
需适配版本:将package.json,vue-loader版本修改为 “vue-loader”: “^15.10.0”,删除本地node_modules文件夹,重新运行即可

2、gulp打包css报错

报错详情

Error in plugin “gulp-sass” Message:

gulp-sass no longer has a default Sass compiler; please set one
yourself. Both the “sass” and “node-sass” packages are permitted. For
example, in your gulpfile:

const sass = require(‘gulp-sass’)(require(‘sass’));

[09:54:33] The following tasks did not complete: sass [09:54:33] Did
you forget to signal async completion?

解决

按报错信息说的将 const sass = require('gulp-sass') 改为

const sass = require('gulp-sass')(require('sass'));

附件文件

package.json

{
  "name": "cbfsp-ui",
  "version": "0.1.0",
  "description": "xxxxUI组件库",
  "main": "dist/index.umd.js",
  "keywords": [
    "xxxx-ui",
    "vue",
    "ui"
  ],
  "author": "qss",
  "files": [
    "dist",
    "components"
  ],
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "npm run build:js && npm run build:css",
    "lint": "vue-cli-service lint",
    "build:js": "webpack --config ./webpack.config.js",
    "build:css": "npx gulp sass"
  },
  "dependencies": {
    "core-js": "^3.8.3",
    "vue": "^2.6.14"
  },
  "devDependencies": {
    "@babel/core": "^7.12.16",
    "@babel/eslint-parser": "^7.12.16",
    "@vue/cli-plugin-babel": "~5.0.0",
    "@vue/cli-plugin-eslint": "~5.0.0",
    "@vue/cli-service": "~5.0.0",
    "eslint": "^7.32.0",
    "eslint-plugin-vue": "^8.0.3",
    "gulp": "^4.0.2",
    "gulp-minify-css": "^1.2.4",
    "gulp-sass": "^5.1.0",
    "node-sass": "^4.14.1",
    "sass": "^1.56.2",
    "sass-loader": "^13.2.0",
    "vue-loader": "^15.10.0",
    "vue-template-compiler": "^2.6.14",
    "webpack": "^5.75.0",
    "webpack-cli": "^5.0.1"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "parserOptions": {
      "parser": "@babel/eslint-parser"
    },
    "rules": {}
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not dead"
  ]
}

学新通

webpack.config.js

const path = require("path");
const { VueLoaderPlugin } = require("vue-loader");

const glob = require("glob");

const list = {};

async function makeList(dirPash, list){
    const files = glob.sync(`${dirPash}/**/index.js`);
    console.log("files:",files);
    for(let file of files){
        const component = file.split(/[/.]/)[2];
        console.log('component:',component)
        list[component] = `./${file}`;
    }
    console.log(list)
}

makeList('components/lib', list)
module.exports = {
    entry: list,
    mode: "development",
    output: {
        filename: "[name].umd.js", // card.umd.js
        path: path.resolve(__dirname, "dist"),
        library: "cui",
        libraryTarget: "umd"
    },
    plugins: [
        new VueLoaderPlugin(),
    ],
    module: {
        rules: [
            {
                test: /\.vue$/,
                use: [
                    {
                        loader: "vue-loader"
                    }
                ]
            }
        ]
    }
}
学新通

gulpfile.js

const gulp = require("gulp");
// const sass = require("gulp-sass");// sass转css
const sass = require('gulp-sass')(require('sass'));
const minifyCss = require("gulp-minify-css");

gulp.task("sass",async function(){
    return gulp.src("components/css/**/*.scss")
        .pipe(sass())
        .pipe(minifyCss())
        .pipe(gulp.dest("dist/css"));
})

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfcjheh
系列文章
更多 icon
同类精品
更多 icon
继续加载