天才教育網(wǎng)合作機(jī)構(gòu)>

北京北大青鳥

歡迎您!
朋友圈

17332948818

全國(guó)統(tǒng)一學(xué)習(xí)專線 9:00-21:00

位置:學(xué)校資訊 > 北京如何把前端打包成web

北京如何把前端打包成web

日期:2023-04-03 17:03:55     瀏覽:311    來源:北京北大青鳥
核心提示:怎么將網(wǎng)頁打包成桌面應(yīng)用(web前端頁面在 HTML5的崛起、要一統(tǒng)天下之際,有一個(gè)名為【跨平臺(tái)】的技術(shù)越來越火。為什么會(huì)這么火?因?yàn)檐浖_發(fā)者只需一次編寫程序,即可在 Windows、Linux、Mac、IOS、Android 等平臺(tái)

怎么將網(wǎng)頁打包成桌面應(yīng)用(web前端頁面

在 HTML5的崛起、要一統(tǒng)天下之際,有一個(gè)名為【跨平臺(tái)】的技術(shù)越來越火。為什么會(huì)這么火?因?yàn)檐浖_發(fā)者只需一次編寫程序,即可在 Windows、Linux、Mac、IOS、Android 等平臺(tái)運(yùn)行,大大降低了程序員的工作量,也使公司的產(chǎn)品可以快讀迭代。曾經(jīng)跨平臺(tái)技術(shù)的不被看好,如今隨著手機(jī)、電腦硬件的發(fā)展而快速發(fā)展。這一切,幾乎由HTML5技術(shù)推動(dòng),當(dāng)然, 這個(gè)語言,是*的功臣。

基于 HTML5 的跨平臺(tái)技術(shù)比較出名的有 PhoneGap、Cordova,常常用于開發(fā) webapp;還有 Egret、Cocos-creator、Unity 等,常用于開發(fā)游戲;還有基于 Node.js 的 nw.js,用于開發(fā)桌面應(yīng)用,以及 Electron,一款比 nw.js 還強(qiáng)大的用網(wǎng)頁技術(shù)來開發(fā)桌面應(yīng)用的神器。

其實(shí),以上都是廢話,現(xiàn)在進(jìn)入主題:怎么用 Electron 將網(wǎng)頁打包成 exe 可執(zhí)行文件!

假設(shè):

1、你已經(jīng)安裝并配置好了 node.js (全局安裝)

2、你已經(jīng)用 npm 安裝了 electron (全局安裝)

3、你已經(jīng)寫好了前端網(wǎng)頁(html、css、 這些,或者基于這些的前端框架寫好的網(wǎng)頁)

4、以上三點(diǎn)看不懂的,趕緊去百度。。。

你如果具備了以上的假設(shè),請(qǐng)繼續(xù)往下看:

1、找到你的前端網(wǎng)頁項(xiàng)目文件夾,新建 package.json、main.js、index.html 三個(gè)文件(注:其中的 index.html 是你的網(wǎng)頁首頁)

你的項(xiàng)目目錄/
├── package.json
├── main.js
└── index.html

2、在 package.json 中添加如下內(nèi)容

{
"name" ? ?: "app-name",
"version" : "0.1.0",
"main" ? ?: "main.js"}

3、在 main.js 中添加下面的內(nèi)容,這個(gè) main.js 文件就是上面 package.json 中的 "main"鍵 的值,所以可根據(jù)需要修改

const {app, } = require('electron')const path = require('path')const url = require('url')// Keep a global reference of the window object, if you don't, the window will// be closed when the object is garbage collected.let () {
// Create the browser window.
win = new ({width: 800, height: 600})
// and load the index.html of the app.
win.loadURL(url.format({
pathname: path.join(__dirname, 'index.html'),
protocol: 'file:',
slashes: true
}))
// Open the DevTools.
// win..()
// Emitted when the window is closed.
win.on('closed', () => {
// the window object, usually you would store windows
// in an array if your app supports multi windows, this is the time
// when you should delete the element.
win = null
})}// This method will be called when Electron has finished// and is ready to create browser windows.// Some APIs can only be used after this event occurs.app.on('ready', )// Quit when all windows are closed.app.on('window-all-closed', () => {
// On macOS it is common for and their menu bar
// to stay active until the user quits with Cmd + Q
if (process.platform !== 'darwin') {
app.quit()
}})app.on('activate', () => {
// On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (win === null) {
()
}})// In this file you can include the rest of your app's specific main process// code. You can also put them in separate files and require them here.

4、如果你的網(wǎng)頁首頁的文件名不是 “index.html”,那么請(qǐng)?jiān)?main.js 中將其中的 'index.html' 修改為你的網(wǎng)頁首頁名

5、打開 DOS,cd 到你的項(xiàng)目目錄(或直接在你的項(xiàng)目目錄下空白的地方 shift+鼠標(biāo)右鍵,然后點(diǎn)擊在此處打開命令窗口,這里看不懂的,唉,百度吧少年)

6、在上一步的 DOS 下,輸入?npm install electron-packager -g全局安裝我們的打包神器

npm?install?electron-packager?-g

7、安裝好打包神器后,還是在上一步的 DOS 下,輸入?electron-packager . app --win --out --arch=x64 --version 1.4.14 --overwrite --ignore=node_modules 即可開始打包

electron-packager . app --win --out --arch=x64
--version 1.4.14 --overwrite --ignore=node_modules

這個(gè)命令什么意思?藍(lán)色部分可自行修改:

electron-packager .?可執(zhí)行文件的文件名?--win --out?打包成的文件夾名?--arch=x64位還是32位?--version版本號(hào)?--overwrite --ignore=node_modules


8、打包成功后,會(huì)生成一個(gè)新的文件夾,點(diǎn)進(jìn)去,找到 exe 文件,雙擊就可以看到網(wǎng)頁變成了一個(gè)桌面應(yīng)用啦!


以上是最簡(jiǎn)單的打包方式,至于怎么修改窗口大小、菜單欄怎么加、怎么調(diào)用系統(tǒng)API這些,就給你慢慢去研究Electron了。

如果你打包總是不成功,覺得很煩,同時(shí)對(duì)擴(kuò)展功能沒什么要求的話,

里面有我已將內(nèi)容為 hello,world 的 index.html 網(wǎng)頁通過 Electron 框架打包為 windows 環(huán)境下的桌面應(yīng)用。

現(xiàn)只需將你的網(wǎng)頁前端項(xiàng)目復(fù)制到 /resources/app/project 目錄下,雙擊 exe 文件即可以桌面應(yīng)用的方式運(yùn)行你的網(wǎng)頁。

如何搭建web前端框架

搭建web前端框架步驟如下:
1、確定項(xiàng)目使用的技術(shù)
根據(jù)項(xiàng)目的需求等來選擇使用的技術(shù)(這里以angular4 + + nodejs+mongodb舉例)
2、新建一個(gè)項(xiàng)目的工作文件夾
使用npm init初始化項(xiàng)目,根據(jù)問題配置,一般是直接回車使用默認(rèn)配置,生成package.json文件
3、新建一個(gè)index.html頁面
4、新建配置文件system.config.js
5、新建ts的配置文件tsconfig.json
npm install
6、新建webApp目錄,這里面放的是所有html頁面和js代碼,首先得有個(gè)入口文件,與system.config.js配置文件中的入口文件名一樣,app.module.ts,里面引入了所有js文件,不被引入的在加載時(shí)都不會(huì)被加載
7、打包(將代碼壓縮,使程序運(yùn)行速度更快)

.x基礎(chǔ)篇:將靜態(tài)資源打包為WebJars

我們?cè)诰帉懬昂蠓蛛x項(xiàng)目時(shí),前端的項(xiàng)目一般需要靜態(tài)資源( Image 、 CSS 、 ...)來進(jìn)行渲染界面,而如果我們對(duì)外采用依賴的方式提供使用時(shí),我們的靜態(tài)資源文件也應(yīng)該放入打包文件內(nèi),這樣才能更便捷的提供我們的功能,在我的開源分布式日志框架 minbox-logging 內(nèi)提供了管理界面的功能,就是采用的這種方式實(shí)現(xiàn),將靜態(tài)資源以及 編譯后 的 HTML 頁面存放到 minbox-logging-admin-ui 依賴內(nèi),下面我們來看下具體的實(shí)現(xiàn)方式。

在我們打包靜態(tài)資源前,首先來了解下 提供的 spring.resources.static-locations 配置默認(rèn)值,該配置用于配置 ,項(xiàng)目啟動(dòng)后會(huì)將該參數(shù)的 配置值列表 作為 直接可訪問 的靜態(tài)目錄進(jìn)行 映射 ,通過這種方式我們就可以直接訪問到我們需要的靜態(tài)資源內(nèi)容。

spring.resources.static-locations 配置位于 org..boot..web. 配置類內(nèi),其默認(rèn)值是使用本類內(nèi)的靜態(tài)常量 CLASSPATH_RESOURCE_LOCATIONS 的值,如下所示:

通過查看源碼我們得知, classpath:/META-INF/resources/ 目錄下的資源是可以直接通過默認(rèn)的映射綁定關(guān)系訪問到的,通過這一點(diǎn),我們可以將靜態(tài)資源依賴內(nèi)的資源文件存放到 META-INF/resources 目錄下。

我們使用 Maven 方式構(gòu)建一個(gè)普通的項(xiàng)目,在 pom.xml 文件內(nèi)添加 資源目錄 配置,在 編譯 過程中將 src/main/resources 目錄下的文件全部復(fù)制到 META-INF/resources 下,如下所示:

我們?yōu)榱吮镜匮菔臼褂?,?Maven 項(xiàng)目通過 mvn install 命令安裝到本地倉(cāng)庫(kù),以便于提供給其他項(xiàng)目使用。

我們來創(chuàng)建一個(gè) 項(xiàng)目,在項(xiàng)目的 pom.xml 文件內(nèi)添加如下依賴:

由于我們?cè)谥巴ㄟ^ mvn install 命令將 靜態(tài)資源項(xiàng)目 安裝到了本地倉(cāng)庫(kù),所以我們可以使用依賴。

通過 IDEA 工具我們可以查看 webjars-sample 依賴內(nèi)的資源文件,如下圖所示:

由于 提供的 spring.resources.static-locations 參數(shù)默認(rèn)值,會(huì)將 classpath:/META-INF/resources 目錄作為靜態(tài)資源映射,所以我們可以直接進(jìn)行訪問 head.jpg 文件。

運(yùn)行 項(xiàng)目,通過訪問 ,效果如下圖:

我們?cè)谠L問靜態(tài)資源的時(shí)候并沒有直接加前綴,而是通過 ip:port/head.jpg 直接訪問,這主要是 還提供了另外一個(gè)配置 spring.mvc.static-path-pattern ,其作用是用來配置 靜態(tài)資源的訪問前綴 ,默認(rèn)值為 /** ,如果需要修改直接在 .yml 文件內(nèi)進(jìn)行賦值即可,

.yml 配置文件,如下所示:

我們修改了 spring.mvc.static-path-pattern 配置的值為 /static/** ,當(dāng)我們重啟項(xiàng)目后需要通過 才可以訪問到資源。

如果你有一些資源不希望被別人修改,讓使用者更加便利的集成時(shí),可以采用這種方式來封裝自己的 webjars ,只需要添加依賴引用就可以訪問到靜態(tài)資源,也可以將靜態(tài) HTML 網(wǎng)頁通過這種方式打包。

北京web前端培訓(xùn)機(jī)構(gòu),出來好找工作嗎,需要學(xué)哪些內(nèi)容?

大部分人學(xué)習(xí)一項(xiàng)技術(shù)肯定是以就業(yè)為目標(biāo),那么學(xué)習(xí)web前端哪些知識(shí)才能找到一份工作?小蝸這里根據(jù)行業(yè)的變化以及企業(yè)的用人需求,整理了一份web前端的學(xué)習(xí)路線,只要掌握了以下內(nèi)容,找到一份工作基本不難。

*階段:專業(yè)核心基礎(chǔ)

階段目標(biāo):

1. 熟練掌握HTML5、CSS3、Less、Sass、響應(yīng)書布局、移動(dòng)端開發(fā)。

2. 熟練運(yùn)用HTML+CSS特性完成頁面布局。

4. 熟練應(yīng)用CSS3技術(shù),動(dòng)畫、彈性盒模型設(shè)計(jì)。

5. 熟練完成移動(dòng)端頁面的設(shè)計(jì)。

6. 熟練運(yùn)用所學(xué)知識(shí)仿制任意Web網(wǎng)站。

7. 能綜合運(yùn)用所學(xué)知識(shí)完成網(wǎng)頁設(shè)計(jì)實(shí)戰(zhàn)。

知識(shí)點(diǎn):

1、Web前端開發(fā)環(huán)境,HTML常用標(biāo)簽,表單元素,Table布局,CSS樣式表,DIV+CSS布局。熟練運(yùn)用HTML和CSS樣式屬性完成頁面的布局和美化,能夠仿制任意網(wǎng)站的前端頁面實(shí)現(xiàn)。

2、CSS3選擇器、偽類、過渡、變換、動(dòng)畫、字體圖標(biāo)、彈性盒模型、響應(yīng)式布局、移動(dòng)端。熟練運(yùn)用CSS3來開發(fā)網(wǎng)頁、熟練開發(fā)移動(dòng)端,整理網(wǎng)頁開發(fā)技巧。

3、預(yù)編譯css技術(shù):less、sass基礎(chǔ)知識(shí)、以及插件的運(yùn)用、BootStrap源碼分析。能夠熟練使用 less、sass完成項(xiàng)目開發(fā),深入了解BootStrap。

4、使用HTML、CSS、LESS、SASS等技術(shù)完成網(wǎng)頁項(xiàng)目實(shí)戰(zhàn)。通過項(xiàng)目掌握*階段html、css的內(nèi)容、完成PC端頁面設(shè)計(jì)和移動(dòng)端頁面設(shè)計(jì)。

第二階段:Web后臺(tái)技術(shù)

階段目標(biāo):

1. 了解的發(fā)展歷史、掌握Node環(huán)境搭建及npm使用。

2. 熟練掌握的基本數(shù)據(jù)類型和變量的概念。

3. 熟練掌握中的運(yùn)算符使用。

4. 深入理解分之結(jié)構(gòu)語句和循環(huán)語句。

5. 熟練使用數(shù)組來完成各種練習(xí)。

6.熟悉es6的語法、熟練掌握面向?qū)ο缶幊獭?/p>

7.DOM和BOM實(shí)戰(zhàn)練習(xí)和H5新特性和協(xié)議的學(xué)習(xí)。

知識(shí)點(diǎn):

1、軟件開發(fā)流程、算法、變量、數(shù)據(jù)類型、分之語句、循環(huán)語句、數(shù)組和函數(shù)。熟練運(yùn)用的知識(shí)完成各種練習(xí)。

2、面向?qū)ο蠡A(chǔ)、異常處理機(jī)制、常見對(duì)象api,js的兼容性、ES6新特性。熟練掌握面向?qū)ο蟮拈_發(fā)以及掌握es6中的重要內(nèi)容。

3、BOM操作和DOM操作。熟練使用BOM的各種對(duì)象、熟練操作DOM的對(duì)象。

4、h5相關(guān)api、canvas、ajax、數(shù)據(jù)模擬、touch事件、mockjs。熟練使用所學(xué)知識(shí)來完成網(wǎng)站項(xiàng)目開發(fā)。

第三階段:數(shù)據(jù)庫(kù)和框架實(shí)戰(zhàn)

階段目標(biāo):

1. 綜合運(yùn)用Web前端技術(shù)進(jìn)行頁面布局與美化。

2. 綜合運(yùn)用Web前端開發(fā)框架進(jìn)行Web系統(tǒng)開發(fā)。

3. 熟練掌握Mysql、Mongodb數(shù)據(jù)庫(kù)的發(fā)開。

4. 熟練掌握vue.js、webpack、elementui等前端框技術(shù)。

5. 熟練運(yùn)用Node.js開發(fā)后臺(tái)應(yīng)用程序。

6. 對(duì)Restful,Ajax,JSON,開發(fā)過程有深入的理解,掌握git的基本技能。

知識(shí)點(diǎn):

1、數(shù)據(jù)庫(kù)知識(shí),范式,MySQL配置,命令,建庫(kù)建表,數(shù)據(jù)的增刪改查,mongodb數(shù)據(jù)庫(kù)。深入理解數(shù)據(jù)庫(kù)管理系統(tǒng)通用知識(shí)及MySQL數(shù)據(jù)庫(kù)的使用與管理,為Node.js后臺(tái)開發(fā)打下堅(jiān)實(shí)基礎(chǔ)。

2、模塊系統(tǒng),函數(shù),路由,全局對(duì)象,文件系統(tǒng),請(qǐng)求處理,Web模塊,Express框架,MySQL數(shù)據(jù)庫(kù)處理,,文件上傳等。熟練運(yùn)用Node.js運(yùn)行環(huán)境和后臺(tái)開發(fā)框架完成Web系統(tǒng)的后臺(tái)開發(fā)。

3、vue的組件、生命周期、路由、組件、前端工程化、webpack、elementui框架。Vue.js框架的基本使用有清晰的理解,能夠運(yùn)用Vue.js完成基礎(chǔ)前端開發(fā)、熟練運(yùn)用Vue.js框架的高級(jí)功能完成Web前端開發(fā)和組件開發(fā),對(duì)MVVM模式有深刻理解。

4、需求分析,數(shù)據(jù)庫(kù)設(shè)計(jì),后臺(tái)開發(fā),使用vue、node完成pc和移動(dòng)端整站開發(fā)。于Node.js+Vue.js+Webpack+Mysql+Mongodb+Git,實(shí)現(xiàn)整站項(xiàng)目完整功能并上線發(fā)布。

第四階段:移動(dòng)端和微信實(shí)戰(zhàn)

階段目標(biāo):

1.熟練掌握React.js框架,熟練使用React.js完成開發(fā)。

2.掌握移動(dòng)端開發(fā)原理,理解原生開發(fā)和混合開發(fā)。

3.熟練使用react-native和Flutter框架完成移動(dòng)端開發(fā)。

4.掌握微信小程序以及了解支付寶小程序的開發(fā)。

5.完成大型電商項(xiàng)目開發(fā)。

知識(shí)點(diǎn):

1、React面向組件編程、表單數(shù)據(jù)、組件通信、監(jiān)聽、聲明周期、路由、Redux基本概念。練使用react完成項(xiàng)目開發(fā)、掌握Redux中的異步解決方案Saga。

2、react-native、開發(fā)工具、視圖與渲染、api操作、Flutter環(huán)境搭建、路由、ListView組件、網(wǎng)絡(luò)請(qǐng)求、打包。練掌握react-native和Flutter框架,并分別使用react-native和Flutter分別能開發(fā)移動(dòng)端項(xiàng)目。

3、微信小程序基本介紹、開發(fā)工具、視圖與渲染、api操作、支付寶小程序的入門和api學(xué)習(xí)。掌握微信小程序開發(fā)了解支付寶小程序。

4、大型購(gòu)物網(wǎng)站實(shí)戰(zhàn),整個(gè)項(xiàng)目前后端分離開發(fā);整個(gè)項(xiàng)目分為四部分:PC端網(wǎng)頁、移動(dòng)端APP、小程序、后臺(tái)管理。團(tuán)隊(duì)協(xié)作開發(fā),使用git進(jìn)行版本控制。目期間可以擴(kuò)展Three.js 、。

web前端學(xué)習(xí)路線思維導(dǎo)圖

北京web前端培訓(xùn),學(xué)習(xí)web前端需要哪些步驟?

一、HTML的學(xué)習(xí)
HTML(超文本標(biāo)記語言)是一個(gè)網(wǎng)頁的骨架,不管是靜態(tài)網(wǎng)頁還是動(dòng)態(tài)網(wǎng)頁。之后返回到瀏覽器端的都是HTML代碼。瀏覽器然后把HTML代碼解釋渲染后反饋給用戶,所以,我們要掌握HTML的基本結(jié)構(gòu)、常用標(biāo)記和屬性。
學(xué)習(xí)是一個(gè)記憶和理解的過程,在學(xué)習(xí)HTML過程中可以借助拆分”視圖輔助學(xué)習(xí)。在“設(shè)計(jì)”視圖中看效果,在“代碼”視圖中學(xué)本質(zhì), 將各種視圖的優(yōu)勢(shì)發(fā)揮出來,這種對(duì)照學(xué)習(xí)的方法彌補(bǔ)了死記HTML標(biāo)簽和屬性的枯燥。
二、css的學(xué)習(xí)
CSS叫做層疊樣式表,一種樣式設(shè)計(jì)語言,它能夠做到網(wǎng)頁表現(xiàn)與內(nèi)容分離,與HTML相比它能復(fù)用HTML的樣式,這樣就在很大程度上提高了開發(fā)速度,也降低了維護(hù)成本。
同時(shí)CSS中的盒子模型、相對(duì)布局等能夠?qū)崿F(xiàn)對(duì)網(wǎng)頁中各對(duì)象的位置排版進(jìn)行像素級(jí)的控制。
三、的學(xué)習(xí)
是一種在客戶端廣泛使用的語言,它為我們提供了一些內(nèi)置函數(shù)、對(duì)象和DOM操作,這些內(nèi)容可以幫助我們來實(shí)現(xiàn)一些客戶端的一些交互,如:效果、驗(yàn)證等,使界面更加生動(dòng)。
四、jquery的學(xué)習(xí)
jQuery 能兼容各種瀏覽器,同時(shí)現(xiàn)在有很多基于jQuery的插件可供選擇,這樣在我們實(shí)現(xiàn)一些豐富的動(dòng)態(tài)效果時(shí)更方便,大大節(jié)省了開發(fā)時(shí)間,提高了開發(fā)速度。
五、bootstrap的學(xué)習(xí)
Bootstrap是用于前端開發(fā)的工具包,是一個(gè)CSS/HTML框架,并且支持響應(yīng)式布局。在項(xiàng)目開發(fā)過程中,我們可以借助Bootstrap提供的CSS樣式、組件、插件等快速的完成頁面布局和樣式設(shè)置,然后再有針對(duì)性的微調(diào)樣式,這樣基于框架進(jìn)行開發(fā)大大縮短了開發(fā)周期。

學(xué)員評(píng)價(jià)ASK list

  • 劉**評(píng)價(jià):這里的宿舍環(huán)境很好,在這里學(xué)習(xí)非常的安心。
    手機(jī)號(hào)碼: 187****8444   評(píng)價(jià)時(shí)間: 2024-11-14
  • 章**評(píng)價(jià):北大青鳥的教學(xué)環(huán)境好,課堂實(shí)用性強(qiáng)。
    手機(jī)號(hào)碼: 132****9151   評(píng)價(jià)時(shí)間: 2024-11-14
  • 未**評(píng)價(jià):這里的課程培訓(xùn)內(nèi)容提供了項(xiàng)目實(shí)踐的機(jī)會(huì),提升學(xué)員的工作經(jīng)驗(yàn)。
    手機(jī)號(hào)碼: 188****6233   評(píng)價(jià)時(shí)間: 2024-11-14
  • 許**評(píng)價(jià):學(xué)校環(huán)境很好,北大青鳥果然名不虛傳,課程很實(shí)用。
    手機(jī)號(hào)碼: 184****6467   評(píng)價(jià)時(shí)間: 2024-11-14
  • 未**評(píng)價(jià):老師授課經(jīng)驗(yàn)豐富,認(rèn)真負(fù)責(zé),學(xué)生的就業(yè)率高。
    手機(jī)號(hào)碼: 182****7519   評(píng)價(jià)時(shí)間: 2024-11-14
  • 女**評(píng)價(jià):師資力量強(qiáng)大,學(xué)生其樂融融。老師講的很細(xì)節(jié),
    手機(jī)號(hào)碼: 135****3226   評(píng)價(jià)時(shí)間: 2024-11-14
  • 未**評(píng)價(jià):課程價(jià)格便宜,和其他機(jī)構(gòu)相比,非常的實(shí)惠。
    手機(jī)號(hào)碼: 134****8082   評(píng)價(jià)時(shí)間: 2024-11-14

本文由 北京北大青鳥 整理發(fā)布。更多培訓(xùn)課程,學(xué)習(xí)資訊,課程優(yōu)惠,課程開班,學(xué)校地址等學(xué)校信息,可以留下你的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢電話:17332948818