首页 > 编程知识 正文

查看vue脚手架版本,怎么查看vue版本

时间:2023-05-04 13:36:26 阅读:202334 作者:2839

一、webpack简介

At its core, webpack is a static module bundler for modern JavaScript applications.

从本质上来讲,webpack是一个现代的JavaScript应用的静态模块打包工具。

二、webpack安装

安装webpack首先需要安装Node.js,Node.js自带了软件包管理工具npm

1)查看node版本

2)全局安装webpack

先指定版本号3.6.0,因为vue cli2依赖该版本

3)局部安装

--save-dev是开发时依赖,项目打包后不需要继续使用的

4)为什么全局安装后,还需要局部安装呢?在终端直接执行webpack命令,使用的全局安装的webpack

当在package.json中定义了scripts时,其中包含了webpack命令,那么使用的是局部webpack

5)查看webpack版本

三、webpack起步

1)创建相关文件及文件夹

2)使用webpack工具,对多个js文件进行打包

3)index.html中引入

bundle.js文件,是webpack处理了项目直接文件依赖后生成的一个js文件,我们只需要将这个js文件在index.html中引入即可

四、webpack配置

4.1、入口与出口

如果每次使用webpack的命令都需要写上入口和出口作为参数,就非常麻烦,有没有一种方法可以将这两个参数写到配置中,在运行时,直接读取呢?当然可以,就是创建一个webpack.config.js文件

const path = require('path')

module.exports = {

//入口: 可以是字符串/数组/对象

entry: './src/main.js',

output: {

//出口:通常是一个对象

path: path.resolve(__dirname, 'dist'), //绝对路径

filename: 'bundle.js'

},

}

4.2、局部安装webpack

4.3、package.json中定义启动

1)生成package.json文件

2)修改package.json

package.json中的scripts的脚本在执行时,会按照一定的顺序寻找命令对应的位置。首先,会寻找本地的node_modules/.bin路径中对应的命令。如果没有找到,会去全局的环境变量中寻找

3)使用npm run build启动

五、webpack的loader

5.1、什么是loader

5.2、css  loader

5.3、less-loader

5.4、图片文件处理

1)url-loader

2)file-loader

3)修改文件名称

5.5、ES6语法处理

六、webpack配置vue

6.1、引入vue

6.2、打包错误解决

在webpack.config.js中配置:

6.3、el和template区别

6.4、Vue组件化开发引入

6.5、.vue文件封装处理

七、Plugin使用

7.1、认识plugin

7.2、添加版权的Plugin

7.3、打包html的plugin

7.4、js压缩的Plugin

八、搭建本地服务器

九、配置文件分离

1)安装相关插件

2)创建相关文件

base.config.js

注意要修改打包的path,否者会打包到build目录下

const path = require('path')

const webpack = require('webpack')

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

const UglifyjsWebpackPlugin = require('uglifyjs-webpack-plugin')

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-loader负责将样式添加到DOM中

// 使用多个loader时, 是从右向左

use: [ 'style-loader', 'css-loader' ]

},

{

test: /.less$/,

use: [{

loader: "style-loader", // creates style nodes from JS strings

}, {

loader: "css-loader" // translates CSS into CommonJS

}, {

loader: "less-loader", // compiles Less to CSS

}]

},

{

test: /.(png|jpg|gif|jpeg)$/,

use: [

{

loader: 'url-loader',

options: {

// 当加载的图片, 小于limit时, 会将图片编译成base64字符串形式.

// 当加载的图片, 大于limit时, 需要使用file-loader模块进行加载.

limit: 13000,

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']

}

]

},

resolve: {

extensions: ['.js', '.css', '.vue'],

alias: {

'vue$': 'vue/dist/vue.esm.js'

}

},

plugins: [

new webpack.BannerPlugin('最终版权归aaa所有'),

new HtmlWebpackPlugin({

template: 'index.html'

})

]

}

View Code

dev.config.js

const webpackMerge = require('webpack-merge')

const baseConfig = require('./base.config')

module.exports = webpackMerge(baseConfig, {

devServer: {

contentBase: './dist',

inline: true

}

})

View Code

prod.config.js

const UglifyjsWebpackPlugin = require('uglifyjs-webpack-plugin')

const webpackMerge = require('webpack-merge')

const baseConfig = require('./base.config')

module.exports = webpackMerge(baseConfig, {

plugins: [

new UglifyjsWebpackPlugin()

]

})

View Code

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。