Webpack4入門2模塊

在 webpack 4 中,可以無須任何配置使用,然而大多數項目都需要比較複雜的設置。

增加webpack.config.js配置文件,使其目錄如下

 webpackDemo
  |- package.json
+ |- webpack.config.js
  |- /dist
    |- index.html
  |- /src
    |- index.js

webpack.config.js代碼如下

const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist')
  }
};

使用新配置文件再次執行構建

#此處的--config webpack.config.js可以省略,默認就是使用webpack.config.js這個文件名
npx webpack --config webpack.config.js

加載CSS
爲了從 JavaScript 模塊中 import 一個 CSS 文件,你需要在 module 配置中 安裝並添加 style-loader 和 css-loader:

npm install style-loader css-loader  --save-dev

修改webpack.config.js

const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist')
    },
   module: {
     rules: [
       {
         test: /\.css$/,
         use: [
           'style-loader',
           'css-loader'
         ]
       }
     ]
   }
};

在項目/src中添加一個新的 style.css 文件

.red {
  color: red;
}

src/index.js

//導入lodash
import _ from 'lodash';
//導入樣式文件
import './style.css';

function component() {
  var element = document.createElement('div');

  // Lodash(目前通過一個 script 腳本引入)對於執行這一行是必需的
  element.innerHTML = _.join(['Hello', 'webpack'], ' ');
  element.classList.add('red');

  return element;
}

document.body.appendChild(component());

index.html

<!doctype html>
<html>
  <head>
    <title>處理css模塊</title>
  </head>
  <body>
    <script src="./dist/bundle.js"></script>
  </body>
</html>

執行構建

npx webpack

瀏覽器打開index.html即可看到字體顏色變紅了

加載圖片
需要用到 file-loader 這個模塊

npm install file-loader --save-dev

webpack.config.js增加配置項

const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist')
    },
   module: {
     rules: [
       {
         test: /\.css$/,
         use: [
           'style-loader',
           'css-loader'
         ]
        },
       {
         test: /\.(png|svg|jpg|gif)$/,
         use: [
           'file-loader'
         ]
       }
     ]
   }
};

/src增加一張圖片 icon.png

發佈了345 篇原創文章 · 獲贊 71 · 訪問量 70萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章