webpack把vue文件编译成html,webpack配置打包vue文件

1、首先全局安裝node,和npm。檢查是否安裝成功

6d8dd7d071a460c1c47c82e7897f4900.png

2、新建一個文件下,進入該文件夾。

前先執行  npm init -y  然后就會在文件夾下出現一個package.json文件

1aa9de9410c3dc49e90f1c9fe2785e2c.png

然后執行  npm install webpack --save-dev 下載webpack

cfc82858de7bd0a7062ad8965bb8f537.png

因為使用的webpack版本是4+的,所以還需要安裝webpack腳手架,執行  npm install webpack-cli --save-dev

db61bebbcc0e45a04de862cda810d297.png

3、搭建項目目錄

c3a96ec59760b823564cef43d63bd0ff.png

我把webpack 的配置文件 拆分成了三個文件,分別是 webpack.common.js 公用文件,webpack.dev.js 搭建開發環境時配置,webpack.prod.js 搭建生產環境配置

4、 需要下載的依賴模塊 使用 npm install 模塊名 --save-dev下載需要的模塊 或者簡寫(npm i 模塊名 -D)

a. clean-webpack-plugin

b. html-webpack-plugin

c.    vue-laoder

d.    vue-style-loader

e.    vue-template-compiler

f.     style-laoder

g.    css-laoder

h.    url-loader

i.     file-loader

j.     webpack-merge

k.    webpack-dev-server

l.     babel-loader

m.   babel-core

n.    babel-preset-env

o.    babel-preset-react

p.    babel-runtime

q.    vue

下載完成的模塊可以在webpack.json 文件中查看

5、書寫公用模塊 webpack.common.js 文件

//這是公用模塊

const path = require('path') //node核心模塊 需要了解的==>(https://www.nodeapp.cn/path.html)

const CleanWebpackPlugin = require('clean-webpack-plugin') //webpack插件 清除打包文件夾下多余文件 詳細配置==>(https://www.npmjs.com/package/clean-webpack-plugin)

const HtmlWebpackPlugin = require('html-webpack-plugin') //webpack插件 簡化html創建 詳細配置==>(https://github.com/jantimon/html-webpack-plugin)

const VueLoaderPlugin = require('vue-loader/lib/plugin') //vue-loader 插件,它的職責是將你定義過的其它規則復制並應用到 .vue 文件里相應語言的塊

module.exports={

entry: {//webpack 入口配置

app: './src/main.js'},

module: {//loader 配置

rules: [{

test:/\.css$/,

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

}, {

test:/\.vue$/,

use: ['vue-loader']

}, {

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

use: [{ // url-laoder配置 了解詳細==>(https://blog.csdn.net/qq20004604/article/details/78745994)

loader:'url-loader',

options: {

limit:10000,

name:'[name].[ext]',

outputPath:'assets/img',

publicPath:''}

}]

}, {

test:/\.js$/,

use: [{

loader:'babel-loader',

options: {

presets: ['react', 'env']

}

}],

include: [

path.resolve(__dirname,'src')

]

}, {

test:/\.(woff|woff2|eot|ttf|otf)$/,

use: ['url-loader']

}]

},

plugins: [//插件配置

new CleanWebpackPlugin(['dist']),newHtmlWebpackPlugin({

template:'index.html',

filename:'index.html'}),newVueLoaderPlugin()

],

output: {//webpack 出口配置

filename: '[name].js',

path: path.resolve(__dirname,'dist')

},

resolve: {//** 引入vue文件時需要更改vue文件指向 ** 對這里有疑問的可以去看看 node_modules/vue/dist/README.md 里面的這個文件有說明

alias: {'vue$': 'vue/dist/vue.esm.js','@': 'src'}

}

}

6、書寫開發環境配置 webpack.dev.js 文件

//開發環境配置

const merge = require('webpack-merge') //webpack 合並配置插件 詳細了解==>(https://github.com/survivejs/webpack-merge)

const common = require('./webpack.common.js') //引入公共模塊配置

const webpack = require('webpack') //引入webpack

module.exports=merge(common, {

devtool:'cheap-module-eval-source-map', //控制如何生成 source map ==>(https://www.webpackjs.com/configuration/devtool/)

devServer: {

contentBase:'./dist',

hot:true},

mode:'development',

plugins: [newwebpack.NamedModulesPlugin(),newwebpack.HotModuleReplacementPlugin()

]

})

7、在入口文件添加一些簡單的代碼

打開 index.html 文件

390bfc329a1a5332b846e3e45ef70d60.png

然后打開 main.js 文件

f7ba4810df6d25d18ce3630f438e84d6.png

最后再打開 App.vue 文件

33ad2c51c68ac8e0f2a5fad8d3bcf9f5.png

8、現在想要運行項目還需要配置一個地方

在package.json 文件添加一條 script命令

"start": "webpack-dev-server --config webpack.dev.js"

aa69588e32e7fe5c6211d273a770ff1f.png

如果運行報錯首先看報的是什么錯,一般是模塊沒有下載,語法錯誤,然后就是寫錯字了

沒有錯誤的話,瀏覽器打開localhost:8080 就會看到 hello Vue 的字樣

9、配置生產環境  打開webpack.prod.js

//配置生產環境

const merge = require('webpack-merge')

const common= require('./webpack.common.js')

const UglifyJSPlugin= require('uglifyjs-webpack-plugin'); // webpack 插件==>(https://www.webpackjs.com/plugins/uglifyjs-webpack-plugin/)

module.exports=merge(common, {

mode:'production',

plugins: [newUglifyJSPlugin()

]

})

10、然后再在package.json 文件添加script指令

24e2581171e335aa6fdecdda96160c07.png

最后運行npm run build 就會在項目文件夾下多一個 dist的文件夾

11、總結

遇到報錯不要怕,報錯是正常,針對報錯進行修改。

對webpack 的一些配置有疑問的可以去看看官網 ==> (https://www.webpackjs.com/configuration/)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值