继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

webpack建立一个前端项目

nickcau
关注TA
已关注
手记 114
粉丝 6509
获赞 303

首先执行npm init:

然后一路回车,生成package.json

npm install -g cnpm --registry=https://registry.npm.taobao.org

sudo cnpm install webpack webpack-cli --save-dev

安装好webpack和webpack -cli

然后在项目根目录下新建src,在src底下建立index.js

在项目根目录下新建文件webpack.dev.config.js

module.exports = {
    entry: './src/index.js',
    output: {
        path: __dirname,
        filename: './release/bundle.js'  // release 会自动创建
    },
}

然后在package.json的scripts下增加:

"dev":"webpack --config ./webpack.dev.config.js --node development"

这时候package.json是

{
  "name": "fontend2",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev":"webpack --config ./webpack.dev.config.js --node development"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^4.29.6",
    "webpack-cli": "^3.3.0"
  }
}

然后在项目根目录下运行npm run dev:

https://img3.mukewang.com/5c9721e80001e61411440602.jpg

https://img.mukewang.com/5c9721fb0001427c15240590.jpg

在项目的根目录生成release文件夹表示运行成功

如果想在浏览器中看到效果:

执行:

sudo cnpm install webpack-dev-server html-webpack-plugin --save-dev

然后在根目录下新建index.html:

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>慕课网-nick老师的前端设计模式</title>
</head>
<body>
    慕课网-nick老师的前端设计模式
</body>
</html>

修改webpack.dev.config.js的配置:

const path = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')
module.exports = {
    entry: './src/index.js',
    output: {
        path: __dirname,
        filename: './release/bundle.js'  // release 会自动创建
    },
    plugins:[
    new HtmlWebpackPlugin({
    template:'./index.html'
    })
    ],
    devServer:{
    contentBase: path.join(__dirname,'./release'),
    open:true,
    port:9000
    }
}

然后修改package.json的配置:

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "webpack-dev-server --config ./webpack.dev.config.js --mode development"
  },

在根目录下执行npm run dev:

https://img3.mukewang.com/5c972b290001ded011460568.jpg

就可以自动打开浏览器看到内容了

然后安装babel

cnpm install babel-core babel-loader babel-polyfill babel-preset-es2015 babel-preset-latest --save-dev

在安装运行过程中发现一个问题:

https://img2.mukewang.com/5c97330f00017af611280586.jpg

这个babel-loader版本不对,建议安装7.x的版本,所以我运行了

cnpm i babel-loader@7.1.5 -D

然后在项目根目录下建立.babelsrc

{
"presets":["es2015","lastest"],
"plugins":[]
}

然后在webpack.dev.config.js那里配置babel:

 module:{
    rules:[{
    test:/\.js?$/,
    exclude:/(node_modules)/,
    loader:'babel-loader'
    }
    ]
    },

然后在index.js那里我们引入ex6语法:

class Person{
constructor(name) {
this.name = name
}
getName() {
return this.name
}
}
let p = new Person("nick老师")
alert(p.getName())

然后在项目根目录下运行npm run dev:

项目成功运行起来了

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP