vue webpack的基本使用

    技术2022-07-10  89

    安装webpack

    在命令行中输入,来安装webpack。[假设已经安装了node]

    npm install webpack@3.6.0 -g

    webpack.config.js用来配置打包路径:

    module.exports={ entry: './src/main.js' ,output: { path: './dist' ,filename: 'bundle.js' } }
    npm init

    ​ 使用如上命令 初始化webpack的使用。使用 webpack 命令打包构建:

    PS A:\vuestudy\vue\vue-629> webpack Hash: 0bd4f09244f0e8c60354 Version: webpack 3.6.0 Time: 61ms Asset Size Chunks Chunk Names bundle.js 2.47 kB 0 [emitted] main [0] ./src/main.js 0 bytes {0} [built]
    npm install

    进行下载项目依赖node_modles相关模块

    npm install
    loader

    ​ 使用cssloader来打包css文件,因为当前我们只能打包构建js文件。

    下载安装;

    //将css打包到dist 选这个就行了 npm install --save-dev css-loader //将javascript转为typescripy npm install --save-dev ts-loader

    导包:

    const path = require('path') module.exports={ entry: './src/main.js' ,output: { path: path.resolve(__dirname,'dist') ,filename: 'bundle.js' } , module: { rules: [ { test: /\.css$/, use: 'css-loader' } // { test: /\.ts$/, use: 'ts-loader' } ] } }

    打包css。

    npm run build

    在安装了css-loader后,我们继续来安装打包css的style-loader

    npm install --save-dev style-loader

    然后再webpack.config.js中配置:

    { "name": "webpackuse", "version": "1.0.0", "description": "", "main": "webpack.config.js", "scripts": { "build":"webpack" }, "author": "", "license": "ISC", "devDependencies": { "css-loader": "^3.6.0", "style-loader": "^1.2.1" } }

    然后接下来,使用npm run build .

    在index.js中引入css,css文件代码如下:

    body{ margin:0 auto; background:red; /* background: url("../img/a.jpg"); */ }

    发现成功将css构建到bundle.js中,接下来,看浏览器变化

    已经变红。

    修改图片打包命名格式:

    options: { name: '[path][name].[ext]', },

    配置好后,webpack.config.js代码如下:

    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$/, use: [{ loader: 'style-loader' }, { loader: 'css-loader' } ] }, // { // test: /\.(png|jpg|gif)$/i, // use: [ // { // loader: 'url-loader', // options: { // limit: 819200, // }, // }, // ], // }, { test: /\.(png|jpe?g|gif)$/i, use: [ { loader: 'file-loader', }, ], }, ] } }

    使用npm run build构建后如下:

    浏览器显示如下:

    发现图片能够正常加载.

    配置打包es6语法转成es5

    ​ 配置babel插件:

    ​ 官方babel-loader 网址:babel-loader

    使用如下命令:

    npm install -D babel-loader @babel/core @babel/preset-env

    env是环境(enivronment)的意思。

    然后配置webpack.config.js,如下:

    { test: /\.m?js$/, exclude: /(node_modules|bower_components)/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-env'] } } }

    个人完整配置代码如下:

    const path = require('path') module.exports={ entry: './src/main.js' ,output: { path: path.resolve(__dirname,'dist') ,filename: 'bundle.js' ,publicPath: 'dist/' } ,resolve: { alias: { 'vue$':'vue/dist/vue.esm.js' } } , module: { rules: [ { test: /\.css$/, use: [{ loader: 'style-loader' }, { loader: 'css-loader' } ] }, { test: /\.(png|jpe?g|gif)$/i, use: [ { loader: 'file-loader', }, ], }, { test: /\.m?js$/, exclude: /(node_modules|bower_components)/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-env'] } } } ] } }

    配置好babel后,使用npm run build进行构建:

    可以从bundle.js中看到,已经看不到const等es6语法的关键字,全部转化为var了。

    使用模块化的思维来使用Vue.js
    npm install vue --save

    安装后,简单试用下vue,在main.js中使用:

    require('./css/index.css') import Vue from 'vue' const app = new Vue({ el:'#calc' ,data:{ test: '我在main.js中调用vue' } })

    在index.html中配置div:

    <!doctype html> <html> <head> <meta charset="utf-8"> <title>webpack模块化使用vue测试</title> </head> <body> <div id="calc"> {{test}} </div> </body> </html> <script src="./dist/bundle.js"> </script>

    使用npm run build重新构建,打开 可以看到,已经能够使用模块化思想来进行使用vue。

    Processed: 0.056, SQL: 9