Vue学习(第五天)

Vue学习(第五天)

一、webpack中使用less文件

1.1 安装

npm install --save-dev [email protected] [email protected]

1.2 在webpack.config.js中进行配置

const path = require('path');

module.exports = {
    entry: './src/main.js',
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'bundle.js'
    },
    module: {
        rules: [{
            test: /\.css$/,
            // css-loader只负责将css文件进行加载
            //style-cloader负责将样式添加到DOM中
            //当有多个loader时,是从右向左
            use: ['style-loader', 'css-loader']
        }, {
            test: /\.less$/,
            use:['style-loader','css-loader','less-loader']
        }]
    }
}

二、webpack中使用图片文件

2.1 安装

安装url-loader
npm install --save-dev [email protected]

安装file-loader
npm install --save-dev [email protected]

2.2 配置

const path = require('path');

module.exports = {
    entry: './src/main.js',
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'bundle.js',
        publicPath: 'dist/'
    },
    module: {
        rules: [{
                test: /\.css$/,
                // css-loader只负责将css文件进行加载
                //style-cloader负责将样式添加到DOM中
                //当有多个loader时,是从右向左
                use: ['style-loader', 'css-loader']
            }, {
                test: /\.less$/,
                use: ['style-loader', 'css-loader', 'less-loader']
            },
            {
                test: /\.(png|jpg|gif|jpeg)$/,
                use: [{
                    loader: 'url-loader',
                    options: {
                        // 当加载的图片,小于limit时,会将图片编译成base64字符串格式
                        // 当加载的图片,大于limit时,需要使用file-loader模块进行加载
                        limit: 8192,
                        name: 'img/[name].[hash:8].[ext]'
                    }
                }]
            }
        ]
    }
}

三、webpack中将ES6转为ES5

3.1 安装

npm install --save-dev [email protected] [email protected] [email protected]

3.2 配置

const path = require('path');

module.exports = {
    entry: './src/main.js',
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'bundle.js',
        publicPath: 'dist/'
    },
    module: {
        rules: [{
                test: /\.css$/,
                // css-loader只负责将css文件进行加载
                //style-cloader负责将样式添加到DOM中
                //当有多个loader时,是从右向左
                use: ['style-loader', 'css-loader']
            },
            {
                test: /\.less$/,
                use: ['style-loader', 'css-loader', 'less-loader']
            },
            {
                test: /\.(png|jpg|gif|jpeg)$/,
                use: [{
                    loader: 'url-loader',
                    options: {
                        // 当加载的图片,小于limit时,会将图片编译成base64字符串格式
                        // 当加载的图片,大于limit时,需要使用file-loader模块进行加载
                        limit: 8192,
                        name: 'img/[name].[hash:8].[ext]'
                    }
                }]
            },
            {
                test: /\.js$/,
                exclude: /(node_modules|bower_components)/,
                use: {
                    loader: 'babel-loader',
                    options:{
                        presets:['es2015']
                    }
                }
            }
        ]
    }
}

四、webpack中使用vue的配置过程

4.1 安装

npm install [email protected] --save
npm install --save-dev [email protected] [email protected] //14版本后需要安装插件

4.2 配置

const path = require('path');

module.exports = {
    entry: './src/main.js',
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'bundle.js',
        publicPath: 'dist/'
    },
    module: {
        rules: [{
                test: /\.css$/,
                // css-loader只负责将css文件进行加载
                //style-cloader负责将样式添加到DOM中
                //当有多个loader时,是从右向左
                use: ['style-loader', 'css-loader']
            },
            {
                test: /\.less$/,
                use: ['style-loader', 'css-loader', 'less-loader']
            },
            {
                test: /\.(png|jpg|gif|jpeg)$/,
                use: [{
                    loader: 'url-loader',
                    options: {
                        // 当加载的图片,小于limit时,会将图片编译成base64字符串格式
                        // 当加载的图片,大于limit时,需要使用file-loader模块进行加载
                        limit: 8192,
                        name: 'img/[name].[hash:8].[ext]'
                    }
                }]
            },
            {
                test: /\.js$/,
                exclude: /(node_modules|bower_components)/,
                use: {
                    loader: 'babel-loader',
                    options:{
                        presets:['es2015']
                    }
                }
            },{
                test:/\.vue$/, 
                use:['vue-loader']
            }
        ]
    },
    //在webpack.config.js配置文件中resolve中加入属性extensions:['.js','.css','.vue']以省略后缀名
    resolve:{
        alias:{// 别名
            'vue$':'vue/dist/vue.esm.js',
         }
    }
}

五、webpack中plugin的使用

5.1 版权

5.1.1 说明

自动生成版权信息等

5.1.2 安装

5.1.3 配置

	plugins: [
	        new webpack.BannerPlugin('最终版权归lele所有!')
	]

5.2 HtmlWebPackagePlugin

5.2.1 说明

  • 自动生成一个index.html文件
  • 将打包的js文件,自动通过script标签插入到body中

5.2.2 安装

npm install [email protected] --save-dev

5.2.3 使用

const HtmlWebpackPlugin = require('html-webpack-plugin');

plugins: [
        new HtmlWebpackPlugin({
            template: './index.html'
        }),
    ],

5.3 压缩代码

5.3.1 说明

代码优化

5.3.2 安装

npm install [email protected] --save-dev

5.3.3 配置

const UglifyJsWebpackPlugin = require('uglifyjs-webpack-plugin');
new UglifyJsWebpackPlugin() //打包时

六、搭建本地服务器

1. 安装

npm install --save-dev [email protected]

2. 启动服务

webpack-dev-server

3. 在package.json中进行配置

"dev": "webpack-dev-server"

七、配置文件的分离

1.安装

npm install [email protected] --save-dev

2. 在package.json中进行配置

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack --config ./build/prod.config.js",
    "dev": "webpack-dev-server --open --config ./build/dev.config.js"
  },

3.dev.config.js中的配置

// 导入base.config.js
const baseConfig = require('./base.config.js');

const webpackMerge = require('webpack-merge');

module.exports = webpackMerge(baseConfig, {
    devServer: {
        contentBase: './dist',
        inline: true,
    }
})

八、脚手架的使用

1.安装

1.安装脚手架3
    npm install @vue/[email protected] -g
2.安装脚手架2的相关模板
    npm install @vue/cli-init -g

2.创建项目

脚手架2创建项目
    vue init webpack my-project
脚手架3创建项目
    vue create my-project

猜你喜欢

转载自blog.csdn.net/qq_44486437/article/details/113762957