首頁 web前端 uni-app uniapp專案如何運作在h5端

uniapp專案如何運作在h5端

May 22, 2023 am 11:40 AM

隨著行動互聯網的快速發展,越來越多的企業開始關注並使用跨端開發技術。 Uniapp作為一款整合了Vue.js和小程式開發能力的跨平台開發框架,已經在許多企業中得到了廣泛的應用。

Uniapp支援運行在不同的平台上,如微信小程式、支付寶小程式、百度小程式、H5端、App端等,本文將主要介紹如何運作Uniapp在H5端。

一、專案初始化

在執行Uniapp專案前,我們需要先進行專案的初始化。在命令列中輸入以下命令:

npm install -g @vue/cli

vue create -p dcloudio/uni-preset-vue my-project
登入後複製

其中,「my-project」為專案名稱,可依需求自行變更。初始化完成後,我們可以將該專案匯入開發工具進行編輯和調試。

二、寫頁面程式碼

在Uniapp中,我們可以透過寫Vue的單一檔案元件來實現對頁面的開發。以下是一個簡單的範例:

<template>
  <view class="container">Hello world!</view>
</template>

<style>
  .container {
    text-align: center;
    font-size: 24px;
    color: #333;
  }
</style>
登入後複製

在頁面中,我們可以使用各種元件來實現豐富多彩的互動效果。

三、設定H5運行環境

完成頁面的撰寫後,我們需要透過設定H5運行環境來實現專案的運作。

  1. 修改manifest.json

在專案的根目錄中,找到manifest.json文件,該文件定義了Uniapp專案的一些基本屬性。我們需要將下列屬性值設為true,來支援H5端的運作。

"h5": {
  "baseApiUrl": "",
  "devServer": {
    "host": "",
    "port": "",
    "compress": true
  },
  "subpackages": true,
  "postcss": true,
  "customVars": true
}
登入後複製
  1. 安裝依賴

執行下列指令安裝H5端所需的依賴套件:

npm install uni-html-webpack-plugin html-webpack-plugin webpack-dev-server webpack-cli webpack -D
登入後複製
  1. 設定webpack

#在專案的根目錄中,建立vue.config.js文件,並加入下列程式碼:

const path = require('path');
const fs = require('fs');

const UniHtmlWebpackPlugin = require('uni-html-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  configureWebpack: (config) => {
    const pages = {};
    const entries = {};
    const templateDir = './public';
    const templateExt = '.html';

    const appDirectory = fs.realpathSync(process.cwd());
    const resolveApp = (relativePath) => path.resolve(appDirectory, relativePath);

    const getEntries = (dir, ext) => {
      const entryFiles = fs.readdirSync(dir);
      let regx = new RegExp(ext + '$');
      return entryFiles.filter(file => regx.test(file)).reduce((entry, file) => {
        const filename = file.replace(new RegExp(ext + '$'), '');
        entry[filename] = path.join(dir, filename);
        return entry;
      }, {});
    };

    const getPages = (entryDir, templateDir, templateExt) => {
      const entryFiles = fs.readdirSync(entryDir);
      let regx = new RegExp('\.(' + Object.keys(entries).join("|") + ')$');
      return entryFiles.filter(file => regx.test(file)).reduce((pages, file) => {
        const filename = file.replace(regx, '');
        const template = path.join(templateDir, filename + templateExt);
        pages[filename] = {
          entry: entries[filename],
          template,
          filename: `${filename}.html`,
          chunks: ['chunk-vendors', 'chunk-common', filename]
        };
        return pages;
      }, {});
    };
    Object.assign(entries, getEntries('./src/pages', '.vue$'));
    Object.assign(pages, getPages('./src/pages', templateDir, templateExt));

    config.entry = entries;
    config.plugins = config.plugins.concat(
      Object.keys(pages).map((name) => {
        const page = pages[name];
        return new HtmlWebpackPlugin({
          title: name,
          template: page.template,
          filename: page.filename,
          chunks: page.chunks,
          inject: true,
          minify: {
            removeComments: false,
            collapseWhitespace: false,
            removeAttributeQuotes: false,
            minifyJS: false,
            minifyCSS: false,
            minifyURLs: false
          }
        });
      }),
      new UniHtmlWebpackPlugin()
    );
  }
};
登入後複製
  1. 執行專案
##完成上述步驟後,我們可以在命令列中輸入以下命令來啟動H5端的運行環境:

npm run dev:h5
登入後複製

同時,我們也可以透過執行以下命令來進行打包:

npm run build:h5
登入後複製
在運行和打包過程中, Uniapp也提供了豐富的開發調試工具,幫助開發者更快速地進行專案的開發和維護。

總結

本文簡單介紹如何在H5端運行Uniapp項目,透過設定和使用合適的工具,可以幫助開發者更有效率地進行跨端開發。在實際專案中,我們也可以結合自身需求進行一些靈活的調整和擴展,以滿足不同場景的要求。

以上是uniapp專案如何運作在h5端的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1655
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1252
29
C# 教程
1226
24