欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue+webpack項(xiàng)目基礎(chǔ)配置教程

 更新時(shí)間:2018年02月12日 10:54:07   作者:阿r阿r  
這篇文章主要介紹了Vue+webpack項(xiàng)目基礎(chǔ)配置教程,需要的朋友可以參考下

最近在學(xué)習(xí)webpack,跟著課程一個(gè)單頁(yè)面應(yīng)用,在這里記錄一下。這個(gè)部分主要講了如何配置webpack的環(huán)境,以及webpack dev的配置。

記錄比較粗略,后續(xù)會(huì)更新。

1.開發(fā)環(huán)境:vscode,node.js,vue.js,webpack

大家自己安裝一下node.js可以參考菜鳥教程

使用的IDE是 VScode

2.項(xiàng)目初始化

快捷鍵ctrl+` 打開vscode控制臺(tái)

 

vscode界面

2.1安裝webpack vue vue-loader

npm init
npm i webpack vue vue-loader

npm 出現(xiàn)warn提醒你需要依賴,按照提示進(jìn)行安裝

 

warn

安裝相應(yīng)的loader

npm i css-loader vue-template-compiler

2.2配置webpack可以加載app.vue文件

首先創(chuàng)建src文件夾,并在其下創(chuàng)建app.vue最為主代碼文件,index.js作為入口文件。

 

基礎(chǔ)文件

app.vue文件內(nèi)容如下:

<template>
 <div id="text">{{text}}</div>
</template>
<script>
 export default{
 data(){
  return {
  text: 'abc'
  }
 }
 }
</script>
<style>
 #test{
 color: red;
 }
</style>

在src同級(jí)目錄下

創(chuàng)建webpack.config.js文件,配置入口entry,輸出output

 

創(chuàng)建package.json文件和webpack.config.js文件

//webpack.config.js
const path = require('path')
module.exports = {
 entry: path.join(__dirname,'src/index.js'), //調(diào)用Index.js作為入口文件
 output: { //打包完的js文件會(huì)在bundle.js中,這個(gè)文件待會(huì)會(huì)自動(dòng)生成的
 filename: 'bundle.js', 
 path: path.join(__dirname,'dist') //用來(lái)存放bundle.js文件的地址,自己定義
 },
 module: {
 rules: [{
  test: /.vue$/,
  loader: 'vue-loader'
 }]
 }
}

index.js文件作為入口

//index.js
import Vue from 'vue'
import App from './app.vue'
const root = document.createElement('div')
document.body.appendChild(root)
new Vue({
 render: (h) => h(App)
}).$mount(root)

配置package.json文件中的scripts命令,添加build

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

在控制臺(tái)輸入npm run build 命令進(jìn)行打包,打包成功后如圖

 

webpack打包完成后

2.3配置webpack可以加載非Js文件

webpack.config.js文件具體配置

在webpack.config.js中的module: {}模塊中添加rules:[],可以設(shè)置webpack需要識(shí)別的文件類型,之前已經(jīng)設(shè)置了vue文件類型,好需要添加css/圖片。

//webpack.config.js 
module: {
 rules: [
 {
 test: /.vue$/,
 loader: 'vue-loader'
 },
 {
 test: /.css$/,
 use:[
 'style-loader',
 'css-loader'
 ]
 },
 {
 test: /\.(gif|jpg|png|svg)$/,
 use: [{
  loader: 'url-loader',
  options: {
  limit: 1024,
  name:'[name].[ext]'
  }
 }]
 }
] 
}

在控制臺(tái)執(zhí)行命令,安裝相應(yīng)的loader

npm i style-loader css-loader url-loader file-loader

測(cè)試非js類型文件打包效果

目標(biāo):在js代碼中import這些非js類型的文件中的內(nèi)容

再src子目錄下,創(chuàng)建測(cè)試文件test.css。以及在images中放入jpg圖片代用(一張就可以了,emmm我當(dāng)時(shí)放多了就先不刪了)

 

src下文件結(jié)構(gòu)

在Index.js中import這些非js文件。

//index.js
import Vue from 'vue'
import App from './app.vue'
import './assets/styles/test.css' //import css文件
import './assets/images/0.jpg' //import 圖片
const root = document.createElement('div')
document.body.appendChild(root)
new Vue({
 render: (h) => h(App)
}).$mount(root)

最后在控制臺(tái)執(zhí)行 npm run build 測(cè)試結(jié)果。

打包成功圖片類似上面。

2.4關(guān)于css預(yù)處理器。stylus的配置和測(cè)試

stylus是css的一種預(yù)處理器,文件類型是 .styl 我們這里對(duì)其進(jìn)行配置

首先在webpack.config.js文件中的rules:[]模塊中跟上面一樣,加入如下代碼,讓其可以識(shí)別.styl文件

//webpack.config.js
  {
  test:/.styl$/,
  use: [
   'style-loader',
   'css-loader',
   'stylus-loader'
  ]
  }

然后在控制臺(tái)安裝stylus所需的loader文件

npm i style-loader stylus-loader

最后在控制臺(tái)執(zhí)行 npm run build 測(cè)試結(jié)果。

2.5配置webpack-dev-server:專門用在開發(fā)環(huán)境的打包

因?yàn)檎江h(huán)境和我們的開發(fā)環(huán)境有所區(qū)別,所以需要配置dev用來(lái)區(qū)分

首先,安裝 webpack-dev-server

npm i webpack-dev-server

然后, 修改package.json文件 ,在build下面添加dev配置

 

package.json文件配置

然后,修改webpack.config.js

在全局添加target:'web'

 

config.js

因?yàn)檫@個(gè)文件要同時(shí)用在開發(fā)環(huán)境和正式環(huán)境,所以要加一個(gè)環(huán)境判斷,在跑npm的時(shí)候添加變量標(biāo)識(shí)不同環(huán)境。

因?yàn)樵趙indows和mac環(huán)境下的命令會(huì)不同,這里安裝cross-env 包,使得在不同開發(fā)環(huán)境下命令相同。

npm i cross-env

再次修改package.json文件,在“build:”和“dev:"行添加dev命令

cross-env NODE_ENV=development  后面不變

 

package.json文件build

然后,在webpack.config.js文件中進(jìn)行判斷。

首先,配置config.devServer

webpack2之后就可以直接用config.devServer進(jìn)行配置了。

更改文件頭部幾行代碼

 

在文件的最后加上如下代碼

 

config.devServer

注意:
host:'0.0.0.0'不要直接寫localhost,這樣別人的電腦就訪問(wèn)不了了;port不要被占用,不然會(huì)打不開

最后.安裝html-webpack-plugin插件使得html可以作為入口,自動(dòng)包含JS

npm i html-webpack-plugin

修改webpack.config.js文件

 

config.js

 

config.js

至此,dev配置基本完成

控制臺(tái)執(zhí)行 npm run dev

npm run dev

打包成功的話就可以在瀏覽器中查看效果了,

如果出現(xiàn)錯(cuò)誤,根據(jù)提示修改,注意端口是否占用。我的8000端口占用了,后來(lái)用了8080端口就好了

瀏覽器訪問(wèn):localhost:8080,可以查看渲染效果。恩,背景圖0.jpg是我愛豆23333。筆芯。注意左上角有紅色的abc。

 

瀏覽器效果

2.6最后還有一些東西要加在config.js中

最后還要加一些東西

1) historyFallback:{}

因?yàn)槲覀冏龅氖菃雾?yè)應(yīng)用,所以要加一下地址映射到入口index.html,這個(gè)先忽略

2) 熱加載功能。

hot功能,可以實(shí)現(xiàn)局部渲染:比如你改了一個(gè)組件的代碼,頁(yè)面只重新渲染這個(gè)組件而不是整個(gè)頁(yè)面進(jìn)行渲染,不需要進(jìn)行刷新操作。

3) 一些插件

webpack.HotModuleReplacementPlugin()啟動(dòng)hot功能

webpack.NoEmitOnErrorsPlugin()去除一些不必要的信息

4) 瀏覽器調(diào)試代碼功能的工具

在瀏覽器中調(diào)試的時(shí)候,代碼不會(huì)轉(zhuǎn)碼。

config.devtool = “#cheap-module-evel-source-map”

 

最后配置完成后,重新npm run dev一次

npm run dev

成功之后,可以在瀏覽器中測(cè)試熱加載效果,修改app.vue文件中的text的內(nèi)容,就可以看到左上角那個(gè)紅色的字在變了emmmm

//app.vue
<template>
 <div id="text">{{text}}</div>
</template>
<script>
 export default{
 data(){
  return {
  text: 'abc' //打開瀏覽器,然后直接改這里就可以實(shí)時(shí)看到文字變化效果了。
  }
 }
 }
</script>
<style>
 #test{
 color: red;
 }
</style>

總結(jié)

以上所述是小編給大家介紹的Vue+webpack項(xiàng)目基礎(chǔ)配置教程,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 詳解vuex中mutation/action的傳參方式

    詳解vuex中mutation/action的傳參方式

    這篇文章主要介紹了詳解vuex中mutation/action的傳參方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Vue2.0基于vue-cli+webpack同級(jí)組件之間的通信教程(推薦)

    Vue2.0基于vue-cli+webpack同級(jí)組件之間的通信教程(推薦)

    下面小編就為大家?guī)?lái)一篇Vue2.0基于vue-cli+webpack同級(jí)組件之間的通信教程(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • 簡(jiǎn)單了解vue 插值表達(dá)式Mustache

    簡(jiǎn)單了解vue 插值表達(dá)式Mustache

    這篇文章主要介紹了vue 插值表達(dá)式Mustache的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 詳解Vue 非父子組件通信方法(非Vuex)

    詳解Vue 非父子組件通信方法(非Vuex)

    本篇文章主要介紹了詳解Vue 非父子組件通信方法(非Vuex),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • vue如何解決echarts升級(jí)后本地?zé)o法啟動(dòng)的問(wèn)題

    vue如何解決echarts升級(jí)后本地?zé)o法啟動(dòng)的問(wèn)題

    這篇文章主要介紹了vue如何解決echarts升級(jí)后本地?zé)o法啟動(dòng)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • vue使用echart自定義標(biāo)簽以及顏色

    vue使用echart自定義標(biāo)簽以及顏色

    這篇文章主要為大家詳細(xì)介紹了vue使用echart自定義標(biāo)簽以及顏色,應(yīng)用于echart 5.0以上版本,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Vue淺拷貝和深拷貝實(shí)現(xiàn)方案

    Vue淺拷貝和深拷貝實(shí)現(xiàn)方案

    在理解淺拷貝和深拷貝淺前,必須先理解基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的區(qū)別,這篇文章主要介紹了Vue淺拷貝和深拷貝實(shí)現(xiàn)方案及區(qū)別對(duì)比分析,需要的朋友可以參考下
    2023-03-03
  • 詳解Vue中CSS樣式穿透問(wèn)題

    詳解Vue中CSS樣式穿透問(wèn)題

    這篇文章主要介紹了VUE中CSS樣式穿透問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • vue3+ts+elementPLus實(shí)現(xiàn)v-preview指令

    vue3+ts+elementPLus實(shí)現(xiàn)v-preview指令

    本文主要介紹了vue3+ts+elementPLus實(shí)現(xiàn)v-preview指令,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • 快速掌握Vue3.0中如何上手Vuex狀態(tài)管理

    快速掌握Vue3.0中如何上手Vuex狀態(tài)管理

    Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式,本文給大家分享Vue3.0中快速上手Vuex狀態(tài)管理的方式,本文通過(guò)實(shí)例代碼講解的很詳細(xì),對(duì)大家學(xué)習(xí)Vuex狀態(tài)管理相關(guān)知識(shí)有很大的幫助,感興趣的朋友一起學(xué)習(xí)吧
    2021-05-05

最新評(píng)論