安装
npm i webpack webpack-cli @babel/core babel-loader @babel/preset-env @babel/node clean-webpack-plugin webpack-node-externals cross-env -D
webpack.config.js
const path = require('path')
const webpackNodeExternals = require('webpack-node-externals')
const { CleanWebpackPlugin } = require('clean-webpack-plugin')
const webpackConfig = {
target: 'node',
mode: 'development',
devtool: 'eval-source-map',
entry: {
server: path.join(__dirname, 'src/index.js')
},
output: {
path: path.join(__dirname, './dist'),
filename: '[name].bundle.js'
},
module: {
rules: [
{
test: /.(js|jsx)$/,
use: {
loader: 'babel-loader'
},
exclude: [path.join(__dirname, 'node_modules')]
}
]
},
externals: [webpackNodeExternals()],
plugins: [new CleanWebpackPlugin()],
node: {
console: false,
global: true,
process: true,
__filename: 'mock',
__dirname: 'mock',
Buffer: true,
setImmediate: true,
path: true
}
}
module.exports = webpackConfig
index.js
import path from 'path'
import Koa from 'koa'
import koaBody from 'koa-body'
import cors from '@koa/cors'
import koaJson from 'koa-json'
import helmet from 'koa-helmet'
import koaStatic from 'koa-static'
import router from './routes'
const app = new Koa()
app.use(koaStatic(path.join(__dirname, '../public')))
app.use(helmet())
app.use(koaBody())
app.use(cors())
app.use(koaJson())
app.use(router())
app.listen(9000)
console.log(2432)
.babelrc
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "current"
}
}
]
]
}
package.json
{
"name": "koa-learn",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "nodemon --exec babel-node src/index.js"
},
"repository": {
"type": "git",
"url": "git+https://github.com/raind33/test-git2.git"
},
"keywords": [],
"author": "",
"license": "ISC",
"bugs": {
"url": "https://github.com/raind33/test-git2/issues"
},
"homepage": "https://github.com/raind33/test-git2#readme",
"dependencies": {
"@koa/cors": "^3.0.0",
"koa": "^2.11.0",
"koa-body": "^4.1.1",
"koa-combine-routers": "^4.0.2",
"koa-helmet": "^5.2.0",
"koa-json": "^2.0.2",
"koa-router": "^7.4.0",
"koa-static": "^5.0.0"
},
"devDependencies": {
"@babel/core": "^7.7.4",
"@babel/node": "^7.7.4",
"@babel/preset-env": "^7.7.4",
"babel-loader": "^8.0.6",
"clean-webpack-plugin": "^3.0.0",
"cross-env": "^6.0.3",
"nodemon": "^2.0.1",
"webpack": "^4.41.2",
"webpack-cli": "^3.3.10",
"webpack-node-externals": "^1.7.2"
}
}
该项目github地址