Node.js简介
Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,它允许在服务器端运行JavaScript代码,Node.js的出现让JavaScript不再局限于浏览器端,而是可以应用于服务器端,实现全栈开发,Node.js具有轻量级、高性能、事件驱动、非阻塞I/O等特点,因此非常适合构建高性能的网络应用。
Node.js打包部署服务器
1、安装依赖
在使用Node.js进行项目开发之前,需要先安装好相关的依赖包,通常我们会使用npm(Node Package Manager)来管理项目的依赖,确保已经安装了Node.js和npm,然后在项目根目录下执行以下命令:
npm init
按照提示填写项目信息,完成后会生成一个package.json
文件,用于存储项目的依赖信息,接下来,根据项目需求安装相应的依赖包:
npm install <package-name>
如果需要安装express框架,可以执行:
npm install express --save
2、编写代码
在项目根目录下创建一个名为app.js
的文件,编写Node.js代码,以Express框架为例,首先引入相关模块,然后创建一个简单的HTTP服务器:
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(Server is running at http://localhost:${port}
);
});
3、打包部署
在完成代码编写后,需要将项目打包成可执行文件,以便在不同的环境中部署,常用的打包工具有Webpack、Rollup等,以Webpack为例,首先安装Webpack及其CLI版本:
npm install webpack webpack-cli --save-dev
然后在项目根目录下创建一个名为webpack.config.js
的配置文件,编写如下内容:
const path = require('path'); const fs = require('fs'); const nodeEnv = process.env.NODE_ENV || 'development'; const isProduction = nodeEnv === 'production'; const sourcePath = path.join(__dirname, 'app'); // 指定源文件路径 const outputPath = path.join(__dirname, 'dist'); // 指定输出路径 const entryFile = 'app.js'; // 入口文件名 const publicPath = '/'; // 公共路径,用于部署到服务器上时的基本URL前缀 const filename =[name].${isProduction ? 'min' : 'bundle'}.js
; // 输出文件名,包括哈希值(生产环境)或不包含哈希值(开发环境)和捆绑包名称(生产环境) const chunkFilename =[id].${filename}
; // 按需加载时的输出文件名,包括哈希值和捆绑包名称(生产环境)或不包含哈希值和捆绑包名称(开发环境)和捆绑包名称(生产环境) const jsonFilename =[name].json
; // JSON序列化后的输出文件名,包括哈希值和捆绑包名称(生产环境)或不包含哈希值和捆绑包名称(开发环境)和捆绑包名称(生产环境) const cssFilename =[name].css
; // CSS文件的输出文件名,包括哈希值和捆绑包名称(生产环境)或不包含哈希值和捆绑包名称(开发环境)和捆绑包名称(生产环境) const assetsDest = path.join(__dirname, 'assets'); // 静态资源目录路径,如图片、字体等,用于部署到服务器上时的基本URL前缀加上这个目录作为基本路径的前缀,/static/img/或者/assets/img/,如果是通过CDN引用静态资源,则不需要设置此项,如果同时设置了publicPath和assetsDest,则assetsDest会覆盖publicPath,如果没有设置publicPath但设置了assetsDest,则默认使用publicPath作为基本路径的前缀加上assetsDest作为基本路径,如果同时设置了publicPath和assetsDest且assetsDest没有设置基本路径前缀,则默认使用publicPath作为基本路径的前缀,如果没有设置publicPath也没有设置assetsDest,则默认为空字符串,该选项仅在生产环境下生效,当开启Gzip压缩时无效,该选项仅在生产环境下生效,当开启Gzip压缩时无效,该选项仅在生产环境下生效,当开启Gzip压缩时无效,该选项仅在生产环境下生效,当开启Gzip压缩时无效,该选项仅在生产环境下生效,当开启Gzip压缩时无效,该选项仅在生产环境下生效,当开启Gzip压缩时无效,该选项仅在生产环境下生效,当开启Gzip压缩时无效,该选项仅在生产环境下生效,当开启Gzip压缩时无效,该选项仅在生产环境下生效,当开启Gzip压缩时无效,该选项仅在生产环境下生效,当开启Gzip压缩时无效,该选项仅在生产环境下生效,当开启Gzip压缩时无效,该选项仅在生产环境下生效,当开启Gzip压缩时无效,该选项仅在生产环境下生效,当开启Gzip压缩时无效,该选项仅在生产环境下生效,当开启Gzip压缩时无效,该选项仅在生产环境下生效,当开启Gzip压缩时无效,该选项仅在生产环境下生效,当开启Gzip压缩时无效,该选项仅在生产环境下生效,当开启Gzip压缩时无效。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/225120.html