使用node搭建的服务作为vue项目的代理,然后如何打包后部署到iils上呢,iisnode?
建议参考一下这篇文章。链接:https://blog.csdn.net/weixin_48295713/article/details/122693851
对就是iisnode,这个库的作用就是让node的代码运行在iis上主要代码逻辑:配置
<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="./app.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<rule name="DynamicContent">
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True" />
</conditions>
<action type="Rewrite" url="app.js" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
【以下回答由 GPT 生成】
你可以使用iisnode模块将Vue.js项目使用Node.js代理并部署到IIS服务器上。下面是详细的步骤和指导:
首先,确保你的机器已经安装了IIS和Node.js。如果没有安装,可以从官方网站下载并安装它们。
创建一个新的文件夹,用于存放你的Vue.js项目文件。
在该文件夹中打开命令行,执行以下命令,初始化一个新的Vue.js项目:
vue create .
按照提示选择默认设置或自定义设置,等待项目初始化完成。
web.config
的文件,并将以下代码添加到该文件中:<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="./app.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<rule name="DynamicContent">
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True" />
</conditions>
<action type="Rewrite" url="app.js" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
这段代码配置了IIS服务器使用iisnode模块处理请求,并将请求重定向到Vue.js项目的入口文件app.js
。
app.js
的文件,并将以下代码添加到该文件中:const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware');
const app = express();
// 配置代理
const apiProxy = createProxyMiddleware('/api', {
target: 'http://api.server', // 修改为你的实际后端API服务器地址
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
});
app.use('/api', apiProxy);
app.use(express.static('dist'));
app.listen(process.env.PORT);
这段代码创建了一个Express应用,并配置了一个代理,用于将/api
开头的请求转发到实际的后端API服务器。你需要将target
中的地址修改为你的实际后端API服务器地址。
npm run build
这将生成一个名为dist
的文件夹,包含了打包后的Vue.js项目文件。
将整个Vue.js项目文件夹复制到IIS服务器的网站根目录中,确保web.config
和app.js
文件与dist
文件夹在同一个目录下。
在IIS管理器中,创建一个新的网站,并将网站的物理路径设置为Vue.js项目文件夹的路径。
重新启动IIS服务器,确保网站已成功启动。
现在,你的Vue.js项目已经使用Node.js代理并部署到IIS服务器上了。可以通过访问网站的URL来访问你的Vue.js应用程序。如果有需要修改代理配置或其他配置,可以修改app.js
文件并重新启动IIS服务器。