用webpack2.0構建vue2.0超詳細精簡版

来源:http://www.cnblogs.com/moqiutao/archive/2017/07/20/7209316.html
-Advertisement-
Play Games

初始化環境 npm init -y 初始化項目 安裝各種依賴項 npm install --save vue 安裝vue2.0 npm install --save-dev webpack@^2.1.0-beta.25 webpack-dev-server@^2.1.0-beta.9 安裝webpa ...


初始化環境

npm init -y 初始化項目

安裝各種依賴項

npm install --save vue 安裝vue2.0

npm install --save-dev webpack@^2.1.0-beta.25 webpack-dev-server@^2.1.0-beta.9 安裝webpack以及webpack測試伺服器,預設安裝是1.0版本的,所以必須指定版本號

npm install --save-dev babel-core babel-loader babel-preset-es2015 安裝babel,一般的瀏覽器是不認識es6語法的,babel的作用是將es6的語法編譯成瀏覽器認識的語法

npm install --save-dev vue-loader vue-template-compiler 用來解析vue的組件,.vue尾碼的文件

npm install --save-dev css-loader file-loader 用來解析css

編寫頁面

新建目錄src,裡面新建App.vue

<!-- 簡單寫個title和一個迴圈 -->
<template>
    <div id="example">
        <h1>{{ msg }}</h1>
        <ul>
            <li v-for="n in 5">{{ n }}</li>
        </ul>
    </div>
</template>

<script>
export default {
    data () {
        return {
            msg: 'Hello World!'
        }
    }
}
</script>

<style scoped>
#example {
    background: red;
    height: 100vh;
}
</style>

在src目錄下新建main.js

/* 引入vue和主頁 */
import Vue from 'vue'
import App from './App.vue'

/* 實例化一個vue */
new Vue({
  el: '#app',
  render: h => h(App)
})

配置webpack

在根目錄下新建webpack.config.js

/* 引入操作路徑模塊和webpack */
var path = require('path');
var webpack = require('webpack');

module.exports = {
    /* 輸入文件 */
    entry: './src/main.js',
    output: {
        /* 輸出目錄,沒有則新建 */
        path: path.resolve(__dirname, './dist'),
        /* 靜態目錄,可以直接從這裡取文件 */
        publicPath: '/dist/',
        /* 文件名 */
        filename: 'build.js'
    },
    module: {
        rules: [
            /* 用來解析vue尾碼的文件 */
            {
                test: /\.vue$/,
                loader: 'vue-loader'
            },
            /* 用babel來解析js文件並把es6的語法轉換成瀏覽器認識的語法 */
            {
                test: /\.js$/,
                loader: 'babel-loader',
                /* 排除模塊安裝目錄的文件 */
                exclude: /node_modules/
            }
        ]
    }
}

打包項目

npm install -g webpack@^2.1.0-beta.25 全局安裝webpack,以便使用webpack命令

webpack 用webpack命令打包項目,這是目錄下會多出一個dist文件夾,查看裡面會有build.js,發覺裡面的es6語法已經被轉化了

最終項目目錄如圖所示

在根目錄下新建index.html,引入build.js

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
<title>vue-webpack</title>
</head>
<body>
    <section id="app"></section>
    <script src="./dist/build.js"></script>
</body>
</html>

頁面如圖所示:

這樣就算打包完成了,但是每修改一次都要重新打包這樣顯然沒有任何效率,於是需要線上的熱重載

npm install -g webpack-dev-server@^2.1.0-beta.9 全局安裝webpack-dev-server,以便使用webpack-dev-server命令

webpack-dev-server 等待程式運行完畢

在瀏覽器輸入http://localhost:8080/查看頁面

這時修改頁面的代碼,不用刷新瀏覽器直接更改

參考

轉載地址:https://segmentfault.com/a/1190000008166081
參考地址:webpack+vue.js快速入門教程

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 給一個長為N的數列,有M次操作,每次操作是以下兩種之一: (1)修改數列中的一個數 (2)求數列中某連續一段的和 ...
  • 一、JAVA高級併發 1.5JDK之後引入高級併發特性,大多數的特性在java.util.concurrent 包中,是專門用於多線程發編程的,充分利用了現代多處理器和多核心系統的功能以編寫大規模併發應用程式。主要包含原子量、併發集合、同步器、可重入鎖,並對線程池的構造提供了強力的支持。 二、線性池 ...
  • 非同步和多線程並不是一個同等關係,非同步是最終目的,多線程只是我們實現非同步的一種手段。非同步是當一個調用請求發送給被調用者,而調用者不用等待其結果的返回而可以做其它的事情。實現非同步可以採用多線程技術或則交給另外的進程來處理。 ...
  • 實現隨機驗證碼 ...
  • SSO英文全稱Single Sign On,單點登錄。SSO是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。它包括可以將這次主要的登錄映射到其他應用中用於同一個用戶的登錄的機制。它是目前比較流行的企業業務整合的解決方案之一。 ...
  • 最近幾年,函數式編程變得越來越流程,其代碼簡潔、副作用小、維護成本低等特點,使得許多其它的語言也開始支持函數式編程,比如`Java` 和 `C#`等。本文主要介紹一下函數式編程中的一個重要概念:`Monad`。 ...
  • 1 概述 1 概述 本篇文章主要分享演算法部分——遞歸演算法,本文簡要講解幾個經典的遞歸算個發,即乘法階乘、漢諾塔和斐波那契數列。 2 講解部分 2 講解部分 2.1 乘法階乘 問題:求n! 分析: 0!=1; n!=nx(n-1)! code: 2.2 漢諾塔 問題:有三根桿子A,B,C。A桿上有N個 ...
  • 使用命名空間對時間進行管理,代碼如下: 優勢: 刪除事件時只需要指定命名空間即可,刪除plugin空間的事件只需要一行代碼即可,由於click事件不在plugin的空間內,所以click事件仍然有效。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...