热更新很简略,须要应用到nodemon。
用法如下:
npm i nodemon -D
// package.json"scripts": { "start": "nodemon src/index.js" },
而后运行npm run start
es语法反对
这里须要用到如下插件:
webpack & webpack-cli
clean-webpack-plugin: 革除dist目录
webpack-node-externals: 不对node_modules进行解决
@babel/core: es6反对
@babel/node: 调试应用
@babel/preset-env: 新语法的反对
babel-loader
cross-env: 环境变量的解决
webpack.config.js 配置如下:
const path = require('path');var nodeExternals = require('webpack-node-externals');const { CleanWebpackPlugin } = require('clean-webpack-plugin');const webpackconfig = { target: 'node', mode: 'development', entry: { server: path.join(__dirname, 'src/index.js') }, devtool: 'eval-source-map', output: { filename: '[name].bundle.js', path: path.join(__dirname, './dist') }, module: { rules: [ { test: /\/(js|jsx)$/, use: { loader: 'babel-loader' }, exclude: [path.join(__dirname, '/node_modules')] } ], }, externals: [nodeExternals()], plugins: [ new CleanWebpackPlugin() ], node: { console: true, global: true, process: true, Buffer: true, __filename: true, __dirname: true, setImmediate: true, path: true } }module.exports = webpackconfig
.babelrc 配置如下:
{ "presets": [ [ "@babel/preset-env", { "targets": { "node": "current" } } ] ]}
而后执行如下命令:
npx babel-node src/index.js
就能够应用import 语法了。
当然,我还想联合应用热更新怎么办呢?
"scripts": { "start": "nodemon src/index.js", "start:es6": "nodemon --exec babel-node src/index.js" },