国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

我的webpack學(xué)習(xí)筆記(一)

CrazyCodes / 1065人閱讀

摘要:前言在上一篇文章中我介紹了學(xué)習(xí)前的準(zhǔn)備工作,下面開(kāi)始的學(xué)習(xí)。目標(biāo)一般我們接觸到的關(guān)于的文章,都是以解讀官方文檔為主,而且是針對(duì)單頁(yè)面項(xiàng)目的應(yīng)用。我先在假設(shè)要做一個(gè)多頁(yè)面應(yīng)用,該如何去通過(guò)打包。

前言

在上一篇文章中我介紹了學(xué)習(xí)webpack前的準(zhǔn)備工作,下面開(kāi)始webpack的學(xué)習(xí)。

*創(chuàng)建webpack-demo文件夾
$ mkdir webpack-demo
$ cd webpack-demo
*初始化一份package.json
$ npm init -y
*package.json內(nèi)容
{
  "name": "webpack-demo",//項(xiàng)目文件夾名字
  "version": "1.0.0",//項(xiàng)目版本號(hào)
  "description": "",//項(xiàng)目的簡(jiǎn)介
  "main": "index.js",
  "scripts": {//可以通過(guò)npm執(zhí)行的命令 npm run test
    "test": "echo "Error: no test specified" && exit 1"
  },
  "keywords": [],
  "author": "",//作者
  "license": "ISC"
}

請(qǐng)關(guān)注package.json的內(nèi)容在之后的學(xué)習(xí)中的變化

目標(biāo)

一般我們接觸到的關(guān)于webpack的文章,都是以解讀webpack官方文檔為主,而且是針對(duì)單頁(yè)面項(xiàng)目的應(yīng)用。我先在假設(shè)要做一個(gè)多頁(yè)面應(yīng)用,該如何去通過(guò)webpack打包js、css。

假設(shè)js編寫(xiě)采用的是es6語(yǔ)法,樣式采用scss,圖標(biāo)采用iconfont和小圖片,頁(yè)面假設(shè)是html(實(shí)際可能是php或者jsp等)

項(xiàng)目目錄如下

打包思路,在src目錄下面創(chuàng)建dist文件夾,我們會(huì)根據(jù)不同頁(yè)面功能打包成獨(dú)立文件夾,其中包含對(duì)應(yīng)的js和css

如下圖

多頁(yè)面應(yīng)用js打包

webpack安裝
$ npm install webpack --save-dev

# package.json中會(huì)出現(xiàn)下面屬性
 "devDependencies": {
    "webpack": "^3.2.0"
  }

babel安裝 (因?yàn)槲覀儾捎玫氖莈s6語(yǔ)法,所以需要通過(guò)babel來(lái)把代碼轉(zhuǎn)換成es5代碼,從而在現(xiàn)有環(huán)境中執(zhí)行。)
$ npm install babel-loader --save-dev
$ npm install babel-core babel-preset-es2015 --save-dev
創(chuàng)建.babelrc文件并添加代碼 { "presets": ["es2015"] }

*在webpack.config.js中添加babel-loaders
module: {
    loaders: [
        {
            test: /.js/,
            loader: "babel",
            include: __dirname + "/src",
        }
    ],
}

package.json

{
  "name": "webpack-demo",
  "version": "1.0.0",
  "description": "my first webpack demo",
  "scripts": {
    "dev": "webpack"
  },
  "author": "sun",
  "engines": {
    "node": ">= 4.0.0",
    "npm": ">= 3.0.0"
  },
  "devDependencies": {
    "babel-core": "^6.25.0",
    "babel-loader": "^7.1.1",
    "babel-preset-es2015": "^6.24.1",
    "webpack": "^3.2.0"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/xxxxxx(你的git名)/webpack-demo.git"
  }
}

webpack.config.js

const path = require("path")
const webpack = require("webpack") //to access built-in plugins
const fs = require("fs")
function getEntry() {
    var jsPath = path.resolve(__dirname, "src/js/app")
    var dirs = fs.readdirSync(jsPath)
    var matchs = [], files = {}
    dirs.forEach(function (item) {
        matchs = item.match(/(.+).js$/);
        if (matchs) {
            files[matchs[1]] = path.resolve(__dirname, "src/js/app", item)
        }
    })
    return files
}
module.exports = {
    entry: getEntry(),
    output: {
      path: path.join(__dirname, "src/dist"), //文件輸出目錄
      publicPath: "src/dist",        //用于配置文件發(fā)布路徑,如CDN或本地服務(wù)器
      filename: "[name]/[name].js",        //根據(jù)入口文件輸出的對(duì)應(yīng)多個(gè)文件名
    },
    module: {
        loaders: [
            {
                test: /.js/,
                loader: "babel-loader",
                include: __dirname + "/src/js"
                //include設(shè)置只轉(zhuǎn)碼src/js下的js文件,不希望被轉(zhuǎn)碼的第三方j(luò)s庫(kù)可以放在該目錄外
            }
        ]
    }
}

下面我們開(kāi)始打包js代碼

$ npm run dev

- 執(zhí)行后src/js/app下面的所有js會(huì)被分別打包到/src/js/dist下面,并且保持文件名不變,你會(huì)發(fā)現(xiàn)此時(shí)打包后的js不是壓縮后的代碼,如果需要壓縮代碼,需要在webpack.config.js中加入:
plugins: [
    //js文件的壓縮
    new webpack.optimize.UglifyJsPlugin({
         compress: {
             warnings: false
         }
     })
]

下一章學(xué)習(xí)多頁(yè)面scss打包

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/112228.html

相關(guān)文章

  • 我的webpack學(xué)習(xí)筆記

    摘要:前言在上一篇文章中我介紹了學(xué)習(xí)前的準(zhǔn)備工作,下面開(kāi)始的學(xué)習(xí)。目標(biāo)一般我們接觸到的關(guān)于的文章,都是以解讀官方文檔為主,而且是針對(duì)單頁(yè)面項(xiàng)目的應(yīng)用。我先在假設(shè)要做一個(gè)多頁(yè)面應(yīng)用,該如何去通過(guò)打包。 前言 在上一篇文章中我介紹了學(xué)習(xí)webpack前的準(zhǔn)備工作,下面開(kāi)始webpack的學(xué)習(xí)。 *創(chuàng)建webpack-demo文件夾 $ mkdir webpack-demo $ cd webpac...

    wh469012917 評(píng)論0 收藏0
  • webpack 學(xué)習(xí)筆記

    摘要:引言最近在學(xué)習(xí),發(fā)現(xiàn)好多知識(shí)點(diǎn),之前一點(diǎn)都沒(méi)有接觸過(guò),如等等。使用本地安裝,會(huì)存于文件夾內(nèi)與屬性內(nèi),更方便項(xiàng)目文件遷移以及協(xié)同開(kāi)發(fā)等情況。 引言 最近在學(xué)習(xí)webpack,發(fā)現(xiàn)好多知識(shí)點(diǎn),之前一點(diǎn)都沒(méi)有接觸過(guò),如babel、core-js、browserslist等等。以前習(xí)慣了使用cli構(gòu)建項(xiàng)目,很多東西不用考慮,拿來(lái)就用,這樣的碼農(nóng)是不會(huì)有能力提升的,必須了解更多的知識(shí)點(diǎn),才能成為...

    zhangwang 評(píng)論0 收藏0
  • webpack入門(mén)學(xué)習(xí)手記(二)

    摘要:例如現(xiàn)在的入門(mén)學(xué)習(xí)手記系列。收到粉絲留言和打賞的喜悅。安裝上一篇入門(mén)學(xué)習(xí)手記一,主要是介紹了的核心概念,是整個(gè)學(xué)習(xí)過(guò)程的基礎(chǔ)知識(shí)。新生成的類似如下入門(mén)學(xué)習(xí)手記因?yàn)樯傻膬?nèi)容過(guò)多,我直接省略掉了。 showImg(https://segmentfault.com/img/bVbk5Nd?w=1150&h=599); 本人微信公眾號(hào):前端修煉之路,歡迎關(guān)注。 最近開(kāi)始想要維護(hù)一個(gè)個(gè)人的公眾...

    Joyven 評(píng)論0 收藏0
  • 我的webpack學(xué)習(xí)筆記(二)

    前言 上一篇文章我們講了多頁(yè)面js的打包,本篇文章我們繼續(xù)scss的打包。 多頁(yè)面css單獨(dú)打包 首先,我們css編寫(xiě)采用的是sass,所以我們先來(lái)安裝sass-loader以及可以用到的依賴 $ npm install sass-loader node-sass css-loader style-loader --save-dev 安裝完loaders,下面在webpack.config.js...

    mcterry 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<