webpack打包js为umd模块
   
- 创建 webpack.config.js 文件
- 
     需要安装 vue-loader,命令:
 
 npm i vue-loader -D
 
- 
     在 package.json 文件中写入打包命令,如图:
   
"build:js":"webpack --config ./webpack.config.js"
- webpack.config.js 文件内容
const path=require('path');
const { VueLoaderPlugin} =require('vue-loader')
const glob =require('glob');
const list={}
// 一个个引入文件过于麻烦,因此采用下面的方式
// {
//     card:'./packages/Card/index.js'
//     demo:'./packages/Demo/index.js'
// }
async function makeList(dirPath,list){
    const files=glob.sync(`${dirPath}/**/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('packages',list)
module.exports={
    entry:list,
    mode:'development',
    output:{
        filename:'[name].umd.js',
        path:path.resolve(__dirname,'dist'),
        library:'mui',
        libraryTarget:'umd'
    },
    plugins:[
        new VueLoaderPlugin(),
    ],
    module:{
        rules:[
            {
                test:/\.vue$/,
                use:[
                    {
                        loader:'vue-loader',
                    }
                ]
            }
        ]
    }
}
- 
     此时执行
 
 npm run build:js
 
 ,跑一下,看有问题没,有问题的话再进一步解决
    
    
    gulp打包css文件
   
- 新建文件 gulpfile.js ,并写入:
const gulp=require('gulp');
const sass=require('gulp-sass')(require('sass')) //sass -> css
const minifyCss=require('gulp-minify-css');
gulp.task('sass',async function(){
    return gulp.src('packages/css/**/*scss')
        .pipe(sass())
        .pipe(minifyCss())
        .pipe(gulp.dest('dist/css'));
})
- 
在 package.json 文件中写入打包命令,如图: 
 
 
 "build:css":"npx gulp sass"
 
 
   
- 
安装gulp、gulp-sass、gulp-minify-css: 
 
 
 npm i gulp gulp-sass gulp-minify-css -D
 
 
 再执行
 
 npm run build:css
 
 看有没有问题
- 
在packages/css文件夹下 创建 index.scss文件,并写入 
// 收回所有的样式代码
@import './Card.scss';
@import './Demo.scss';
    再次执行
    
     npm run build:css
    
    看有没有问题
   
- 
     在package.json文件中修改
 
 "build": "npm run build:js && npm run build:css",
 
 ,此时运行
 
 npm run build
 
 可进行两个打包。
 
   
- 
     执行
 
 npm run build
 
 ,看是否有问题
 
 (如果看着不明显的话,可以先将dist目录删除,再执行命令)
    
    
    
     发布组件库到npm
    
   
 
版权声明:本文为qq_52111135原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
