当前位置: 首页 > 后端技术 > Node.js

说说koa服务nodejs的服务,webpack打包问题

时间:2023-04-03 14:21:31 Node.js

前言目前前端的更新迭代越来越快,相应的配套服务也在飞速发展。node服务koa使用webpack打包方案安装npminstallnpmrunbuild新建项目package.json{"name":"koa2-blog","version":"1.0.0","description":"blog","main":"main.js","directories":{"lib":"./src/main.js"},"scripts":{"dev":"supervisor-wsrcsrc/main.js","build":"webpack--progress--hide-modules--configwebpack.config.js","test":"./node_modules/mocha/bin/mocha--harmonytest"},"author":"江小二","license":"MIT","dependencies":{"config-lite":"^2.0.0",},"devDependencies":{"babel-core":"^6.22.1","babel-loader":"^6.2.10","babel-minify-webpack-plugin":"^0.3.1","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-stage-3":"^6.24.1","clean-webpack-plugin":"^0.1.17","crypto":"^1.0.1","express":"^4.17.1","fs":"^0.0.1-security","mocha":"^4.0.1","path":"^0.12.7","webpack":"^3.10.0","webpack-node-externals":"^1.7.2"}}webpack.config.js/***姜小二创建2019/7/10.***/'usestrict';constwebpack=require('webpack');constpath=require('path');constcleanWebpackPlugin=require('clean-webpack-plugin');varnodeExternals=require('webpack-node-externals');constMinifyPlugin=require('babel-minify-webpack-plugin');module.exports={entry:path.resolve(__dirname,'service.js'),//入口文件output:{path:path.resolve(__dirname),//输出Pathfilename:'app.js'//输出项目根目录},module:{loaders:[{test:/\.js$/,exclude:/node_modules/,use:[{loader:'babel-loader',options:{presets:['es2015','stage-3']//兼容es6,并添加.babelrc}}]}]},target:'node',//服务端封装externals:[nodeExternals()],//节点打包可以去除一些警告resolve:{modules:['node_modules',path.resolve(__dirname,'src')]},插件:[newcleanWebpackPlugin(['app.js'],{root:path.resolve(__dirname,'./')}),newMinifyPlugin()//压缩js]};ES6语法支持修改项目中的.babelrc文件{"presets":["es2015","stage-3"],"plugins":["transform-runtime"]}服务。jsconst$=require('jquery')console.log("HelloWord,hijquery")console.log("hijquery",$)$npmrunbuild$nodeapp.js项目地址https://github.com/shanyanwt/...问题是因为它是基于node环境打包的。其实webpack并没有把项目中的node_modules放到app.js中。据说需要在执行app.js的前提下记录在项目中执行。webpack打包恰到好处。多个文件集成为一个文件,没有项目依赖。服务中需要重新安装npminstall。如果有一天,它可以像一个web项目一样,依赖输入文件和java生成一个编译好的jar执行文件,这样生产环境也只是省去了一些不必要的链接。如果你有好的建议和想法,可以在评论区留言,或者联系邮箱:shanyanwt@163.com愿你保持独立思考,不卑不亢,不骄不躁,努力成长为你想要的样子喜欢。我是一只孤独的独狼...欢迎star