美文网首页
搭建开发环境--热加载以及转换es6

搭建开发环境--热加载以及转换es6

作者: Adoins | 来源:发表于2019-04-13 21:16 被阅读0次

安装node和npm后

1、 初始化npm环境,安装webpack

npm init
npm install webpack webpack-cli --save-dev

根文件夹建立一个src文件夹,里面添加index.js文件,再在根目录添加webpack.dev.config.js

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

npm run dev即可打包index

2、安装webpack-dev-server

cnpm i webpack-dev-server html-webpack-plugin --save-dev

根目录创建index.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'
    },
    plugins: [
        new HtmlWebpackPlugin({
            template: './index.html'
        })
    ],
    devServer: {
        contentBase: path.join(__dirname, './release'), // 根目录
        open: true, // 根目录自动打开浏览器
        port: 9000
    }
}

package.json代码更改

{
  "name": "hot-loaded",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "webpack-dev-server --config ./webpack.dev.config.js --mode development"
  },
  "author": "Tony",
  "license": "ISC",
  "devDependencies": {
    "follow-redirects": "^1.5.9",
    "handle-thing": "^1.2.5",
    "html-webpack-plugin": "^3.2.0",
    "http-deceiver": "^1.2.7",
    "http-proxy": "^1.17.0",
    "mime": "^2.3.1",
    "node-forge": "^0.7.6",
    "spdy-transport": "^2.1.0",
    "webpack": "^4.22.0",
    "webpack-cli": "^3.1.2",
    "webpack-dev-server": "^3.1.9"
  }
}

然后执行cnpm i 再执行 npm run dev 即可看到在浏览器上自动打开。至此已经完成热加载

3、安装babel

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

index.js

class Person {
    constructor(name){
        this.name = name;
    }
    getName(){
        return this.name;
    }
}

let p  = new Person('sdfdsd');
alert(p.getName());

根目录新建.babelrc

{
    "presets": [
        "es2015", "latest"
    ],
    "plugins": [

    ]
}

webpack.dec,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'
    },
    // es6转es5
    module: {
        rules: [{
            test: /\.js?$/,
            exclude: /(node_modules)/,
            loader: 'babel-loader'
        }]
    },
    plugins: [
        new HtmlWebpackPlugin({
            template: './index.html'
        })
    ],
    devServer: {
        contentBase: path.join(__dirname, './release'), // 根目录
        open: true, // 根目录自动打开浏览器
        port: 9000
    }
}

npm i babel-loader@7 --save-dev

npm run dev

即可正常转换es6

https://github.com/zyqq/hot-loaded​github.com

相关文章

网友评论

      本文标题:搭建开发环境--热加载以及转换es6

      本文链接:https://www.haomeiwen.com/subject/gzzrwqtx.html