欢迎访问我的博客,目前从事Machine Learning,欢迎交流

webpack的简单使用

webpack原本是用来打包js文件的,只认js,有了loader后,他就开了二郎神天眼,也认识css等文件。现在他又有了 plugins,他就有了金箍棒,使得在打包的同时可以压缩、编译ES6,可以干更多的事情

第一步:cnpm安装

mkdir webpack-demo && cd webpack-demo
cnpm init -y
cnpm install webpack webpack-cli --save-dev

 

第二步:创建目录结构如下,其中dist和src目录需要手动创建

  webpack-demo
  |- package.json
  |- /dist
    |- index.html
|- /src |- index.js

index.html和index.js内容如下:

<!doctype html>
<html>
  <head>
      <meta charset="utf-8" />
    <title>测试</title>
    <script src="./bundle.js"></script>
  </head>
  <body>
    <script></script>
  </body>
</html>

 

import $ from 'jquery';

$(document).ready(function(){

    console.log("哈哈")

})

 

第三步:

执行:cnpm isntall jquery

 

在webpack-demo下新建webpack配置文件:webpack.config.js

 

webpack.config.js

const path = require('path'); //引入依赖
const uglify = require('uglifyjs-webpack-plugin');  //引入依赖

module.exports = {
  entry: './src/index.js',  //你要打包文件的开头,如果这个文件还引入其他文件,则也会被识别打包
  output: {
    filename: 'bundle.js', //生成打包后的文件的名字
    path: path.resolve(__dirname, 'dist')  //生成的打包后的文件你想把它放的地方
  },
  plugins: [ //这是金箍棒
    new uglify()  //压缩
  ]
};

 

运行:

npx webpack --config webpack.config.js后,在dist得到打包完的文件:

使用chrome运行:

webpack导致中文乱码?不对,webpack默认以utf-8编码打包,原来是记事本的输入中文的问题,我改用编辑器输入,如下:

打包成功!

 

坑:

第一次npx时,出现:Path must be a string. Received undefined ... ,发现原来是dist目录不存在。

 

posted @ 2018-10-17 20:45  有蚊子  阅读(688)  评论(0编辑  收藏  举报