當前位置:首頁 » 網頁前端 » 前端小夥伴選擇webpack
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

前端小夥伴選擇webpack

發布時間: 2023-03-01 13:14:18

1. 寫前端用哪個軟體好

編寫代碼的軟體有不少:WebStorm、Sublime、HBuilderX、Editplus和Dreamweaver等。
每個軟體各有優缺點。
我自己主要用Dreamweaver這個軟體,用習慣了;有時用一下 HBuilderX

2. Web前端開發需要哪些工具

前端開發中需要掌握最基礎的技能就是HTML、CSS,JavaScript。前端的開發中,在頁面的布局時, HTML將元素進行定義,CSS對展示的元素進行定位,再通過JavaScript實現相應的效果和交互,在進行開發前,需要對這些概念弄清楚,才能進行合理的開發。

在網頁建設的過程中,為了避免代碼的繁瑣雜亂,更高效快速地完成任務,就會使用到一些有代碼高亮提示和語法提示等便捷功能的前端開發工具。

1,Dreamweaver:中文名「夢想編織者」。是集網頁製作和管理網站於一身的所見即所得網頁代碼編輯器。它可以使用所見即所得的介面,亦有HTML編輯的功能,藉助經過簡化的智能編碼引擎,輕松地創建、編碼和管理動態網站。訪問代碼提示,即可快速了解 HTML、CSS 和其他Web 標准。 使用視覺輔助功能減少錯誤並提高網站開發速度。

2,Sublime:Sublime Text 是一個代碼編輯器,也是HTML和散文先進的文本編輯器。Sublime Text 的主要功能包括:拼寫檢查,書簽,完整的 Python API , Goto 功能,即時項目切換,多選擇,多窗口等等。

3,HBuilder:是DCloud,推出的一款支持HTML5的Web開發IDE。 HBuilder的編寫用到了Java、C、Web和Ruby。HBuilder本身主體是由Java編寫。

有了工具,接下來還得靠我們人來操作。你必須熟悉三種語言,把這些概念弄明白,才能開發出好的作品。

3. 前端構建工具Gulp.js 你知多少..(webpack/gulp/grunt)

@ TOC

閱讀本文章之前,相信你已經對前端構建工具(webpack、gulp、grunt)有一定的認知和了解了,那麼他們之間究竟有什麼區別呢?

gulp文檔上面有這么一句話 ,也就是說 gulp是一個自動化構建工具;
gulp的一些功能如下(包括但不限於):

其實Webpack和另外兩個並沒有太多的可比性

傻瓜式起步照搬官網文檔
1.安裝

2.在項目根目錄下創建一個名為 gulpfile.js 的文件:

3.運行 gulp:

默認的名為 default 的任務(task)將會被運行,在這里,這個任務並未做任何事情。
具體詳情可以查看 gulpjs.com文檔

新建一個項目gulp-test
環境:

1.新建文件以下文件如下

其中 gulpfile.js 是我們gulp的配置文件,啟動gulp默認會找個這個文件並執行;
2.接下來安裝依賴

一直按回車Enter初始化package.json文件(小技巧: npm iniy -y 可以免去繁瑣的enter步驟)
此時我們的目錄結構是這樣了

安裝依賴

這里頁面實時刷新只講這個 gulp-connect ,其他詳情可以參照 Browsersync 和文章 gulp-livereload

安裝完依賴後配置gulpfile.js如下:

大概講解一下gulpfile.js:

gulp.task 是gulp的api 定義一個使用 Orchestrator 實現的任務(task)
如上我們定義了 my-task-js my-task-css html clean default watch server 等任務,其中:

my-task-js 是將 符合所提供的匹配模式的js 進行檢測(gulp-jshint)、壓縮(gulp-uglify)、合並(gulp-concat)、重命名(gulp-rename)、輸出(gulp.dest)到/dist/js目錄下;

my-task-css 是將 符合所提供的匹配模式的sass進行編譯(gulp-sass)、壓縮(gulp-uglify)、合並(gulp-concat)、重命名(gulp-rename)、輸出(gulp.dest)到/dist/css目錄下;

html 是將 符合所提供的匹配模式的html進行監聽,如果有變化則connect.reload()

clean 是如果任務重新啟動時 刪除舊文件;

default gulp默認啟動的任務

watch gulp的api 監視文件,並且可以在文件發生改動時候做一些事情。它總會返回一個 EventEmitter 來發射(emit) change 事件。

server 依賴gulp-connect啟動一個伺服器

配置完gulpfile.js之後,我們給js和css及html加點東西:

首先js/helloworld.js

css/index.scss

index.html

運行gulp

瀏覽器效果:

接下來我們修改helloworld.js來看看是否能實時刷新
修改如下:

按保存之後,終端給我們報了一個錯:

查看js發現我們用了es6語法的聲明語句 但當前gulp無法處理es6語法,有問題解決問題,es6=>es5

解決方案:
安裝gulp-babel babel-core babel-preset-es2015

gulpfile.js修改如下:

運行

依然報上面的錯;找了一些原因發現,雖然安裝了相關依賴,卻沒有配置.babelrc文件,即babel還沒轉化es6

根目錄添加.babelrc文件

重新運行:

查看dist下的js文件

改變helloworld.js檢查頁面是否刷新

保存,頁面的天空藍換成你們喜歡的yellow顏色

修改index.scss 查看是否會刷新頁面

最後修改index.html 查看是否會刷新頁面

今天主要學習了gulp的簡單項目搭建及實時更新配置;其實gulp類似於grunt的弱化版,但更簡單好用,只是插件會少一些,目前主流的項目搭建工具主要是webpack,但依然有不少項目還用著gulp或者grunt

擴展:

下面還有一些樓主的學習筆記:

有興趣的可以多多交流@ 樓主博客

4. 前端構建工具webpack有什麼缺陷

1.文檔缺失,尤其中文文檔

長期以來webpack官方文檔和example匱乏,提供的一些例子都是很簡單那種,經常發現完全按照例子來配置但就是跑不起來,中文文檔就更不用說了,少的可憐。這個問題也直接導致下面的第2點。
2.配置難&難調試

稍微復雜一點的項目,如果使用webpack編譯,不經過一段痛苦不堪的配置調試過程是沒法正常跑起來的。這還沒完,在自己機器上跑起來之後可能到了另一個同事哪兒又報錯了等等。總之正如下面有人回答那樣,配置文件一旦跑起來,是根本不敢去改的,生怕又出錯。
webpack的錯誤提示也非常難看懂,基本不可能從錯誤很直觀的找到原因,長期以來碰到問題只能靠猜,你沒看錯,就是靠猜!!
3.編譯慢
經驗不足的同學很容易碰到這個問題,當然可以通過一些手段做優化,比如配置mole的resolve、root等,使用happypack加速、dll提前編譯等等。但是筆者曾經嘗試過happypack,對編譯速度有提升但效果不明顯,dll的話我有按照官方文檔的做法去做,但是最終編譯出來又報了一些莫名其妙的錯(也有可能是代碼寫的有問題),總之心累,後來直接改成externals方式,全局script引入第三方庫。
4.對server-render不友好
webpack本質上還是靜態打包,意思就是打包完成之後其實文件的載入順序已經固定,只是被載入的時間不定而已。所以使用webpack原則上不存在按需載入之類的說法,code split其實是人工分隔,但是真實的按需載入場景豈是人工能枚舉完的 (下劃線這句話不太好解釋,也不想過多解釋,熟悉前端工程的人應該都明白啥意思)。
在這里我要說的對server-render不友好其實是指html的處理,webpack其實是通過在js里用require標記資源然後載入任意資源(css、圖片、fonts等等),但其實html文件才是頁面真實的入口,最終編譯出的js還是需要引入到html里,為了防止css懶載入導致頁面抖動,編譯完的css還需要從js里邊提取出來放到html外鏈。

目前一般都是通過html-webpack-plugin來做這個事情,先搜集某個html所引用的靜態資源最終自動插入到html。這種方式對於前端渲染的應用沒有問題,但是對於server-render的那就不行了,因為server-render下html是作為模板由後端語言吐出,而開發模式下(例如webpack-dev-server)webpack是不會輸出任何文件的(開發環境webpack是將文件放到內存然後在路由層自動serve了),所以這會導致開發環境模板無法引用靜態資源。當然,有一種解決方案就是靜態資源不改變文件名稱,預先寫好路徑,開發環境和生產環境同名(即覆蓋式發布)。

5. 前端ui框架 Antd For React(Webpack)總結

### 總結一下使用阿里的antd這個ui框架的正確姿勢(官網推薦的按需載入方式)

1. 本文針對在現有項目中引入antd

2. 二話不說: npm install antd --save

3. 在.babelrc文件中加入:

{

  "plugins": [

    ["import", { "libraryName": "antd", "style": "css" }]

  ]

}

如果.babelrc文件已有其他的plugins,那就將["import",

{ "libraryName": "antd", "style": "css" }]這段放到plugins數

組里。

4. 執行: npm install babel-plugin-import --save-dev

.babelrc文件中import是需要安裝babel-plugin-import插件的。

5. 使用:

import { DatePicker } from 'antd';

ReactDOM.render(<DatePicker />, mountNode);

PS:按需載入方式只需從 antd 引入模塊即可,無需單獨引入樣式

6. 問題:

如果有樣式無效的情況,可能是webpack.proction.config.js文件中:

mole: {

        loaders: [

            {test: /\.css$/, exclude: /node_moles/, loader:

            ExtractTextPlugin.extract('style', 'css!postcss')},

        ]

    }

    包含了exclude: /node_moles/,這樣會排除node_moles文件夾下的樣式,去掉exclude: /node_moles/再試試。

6. 學web前端開發需要用哪些軟體

前端前景是很不錯的,像前端這樣的專業還是一線城市比較好,師資力量跟得上、就業的薪資也是可觀的,學習前端可以按照路線圖的順序,

0基礎學習前端是沒有問題的,關鍵是找到靠譜的前端培訓機構,你可以深度了解機構的口碑情況,問問周圍知道這家機構的人,除了口碑再了解機構的以下幾方面:

1. 師資力量雄厚

要想有1+1>2的實際效果,很關鍵的一點是師資隊伍,你接下來無論是找個工作還是工作中出任哪些的人物角色,都越來越愛你本身的技術專業前端技術性,也許的技術專業前端技術性則絕大多數來自你的技術專業前端教師,一個好的前端培訓機構必須具備雄厚的師資力量。

2. 就業保障完善

實現1+1>2效果的關鍵在於能夠為你提供良好的發展平台,即能夠為你提供良好的就業保障,讓學員能夠學到實在實在的知識,並向前端學員提供一對一的就業指導,確保學員找到自己的心理工作。

3. 學費性價比高

一個好的前端培訓機構肯定能給你帶來1+1>2的效果,如果你在一個由專業的前端教師領導並由前端培訓機構自己提供的平台上工作,你將獲得比以往更多的投資。

希望你早日學有所成。