前端構建工具webpack

1.先刪除之前的webpack,webpack-cli,webpack-dev-server

npm uninstall webpack \
webpack-dev-server \
webpack-cli
npm uninstall webpacl-cli -g

2.安裝最新版本的webpack、webpack-cli(webpack4把腳手架webpack-cli從webpack中抽離出來的,所以必須安裝webpack-cli)、webpack-dev-server

npm install webpack \
webpack-dev-server \
webpack-cli -D

注意:也可以全局安裝指定版本cnpm install [email protected] -g
3.cd Desktop創建項目mkdir ninghao-webpack進入項目cd ninghao-webpack
4.創建一個npm的配置文件package.json cnpm init全部都下一步下一步就好
5.安裝局部webpack,保存到項目的依賴裏面,cnpm install --save-dev [email protected](和全部版本保持一致,這一步也可以不操作)
6.在根目錄下新建index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>ninghao-webpack</title>
</head>
<body>
    <div id="app"></div>
    <script src="bundle.js"></script>
</body>
</html>

在根目錄下新建entry.js

document.getElementById('app').textContent='hello~';

命令行執行:

webpack entry.js bundle.js

在這裏插入圖片描述
最後執行:

open index.html

在這裏插入圖片描述
入門參考:http://www.runoob.com/w3cnote/webpack-tutorial.html
遇到問題,可參考以下博客https://blog.csdn.net/u012443286/article/details/79504289

若Error: invalid “instanceof” keyword value Promise
則是webpack 與webpack-dev-server 的版本不兼容,解決方法:
1.換成匹配的版本即可。
https://baijiahao.baidu.com/s?id=1620927431012303542&wfr=spider&for=pc
2.局部安裝webpack 命令行局部運行的方法
其實在很多項目中都是推薦局部安裝webpack,因爲全局安裝,輸入命令行之後,都會按照全局命令行來打包了。如果不同的項目用的不同的webpack版本配置,打包的時候,都是用的全局webpack命令行,這樣會出一些問題的。

但是局部安裝之後,執行webapck 命令行的時候會出現:‘webapck’ 不是內部或外部命令,也不是可運行的程序或批處理文件。這樣的提示。

解決辦法:

  "scripts": {
    "server":"webpack-dev-server",
    "webpack":"webpack"
  },

然後執行npm run webpack搞定!

入門完成若需要調試代碼則需要用到source-map

方法一:
webpack --devtool source-map
方法二:在配置文件webpack.config.js裏添加 devtool:‘source-map’,然後直接webpack就好啦

var webpack = require('webpack');

module.exports = {
    entry: "./runoob1.js",
    output: {
        path: __dirname,//和入口文件相同的路徑
        filename: "bundle.js"
    },
    devtool:'source-map',
    //處理css文件
    module: {
        loaders: [
            { test: /\.css$/, loader: "style-loader!css-loader" }
        ]
    },
    plugins:[
        new webpack.BannerPlugin('菜鳥教程 webpack 實例')
    ]
};

在這裏插入圖片描述

兼容Es6要用到babel

cnpm install --save-dev babel-loader babel-core babel-preset-env

若包以上錯誤也需要進行以上安裝
如果安裝有問題,則卸載重新安裝
cnpm i -D babel-loader
cnpm i -D @babel/core
@babel/preset-env
webpack.config.js文件爲

var webpack = require('webpack');

module.exports = {
    entry: "./runoob1.js",
    output: {
        path: __dirname,//和入口文件相同的路徑
        filename: "bundle.js"
    },
    //處理css文件
    // module: {
    //     loaders: [
    //         { test: /\.css$/, loader: "style-loader!css-loader" }
    //     ]
    // },
    module: {
        rules: [
          {
            test: /\.js$/, exclude: /node_modules/, loader: "babel-loader"
            // test 符合此正則規則的文件,運用 loader 去進行處理,除了exclude 中指定的內容
          }
        ]
    },
    plugins:[
        new webpack.BannerPlugin('菜鳥教程 webpack 實例')
    ]
};

.babelrc文件爲

{
    "presets": ["env"]
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章