我已经创建了一个以Node.js作为后端的Angular项目。

这是服务器文件结构:

Home directory
 - httpdocs
 - node-hm
   - dist
     - browser(folder)
     - server (folder)
     - server.js
   - package.json
   - web.config


我设法从plesk的Node.js菜单中“ npm install”。
node.js - Plesk Windows部署node.js-LMLPHP

试着:


将应用程序启动文件更改为“ dist / server.js”。
将文档根目录更改为“ node-hm / dist”文件夹。
将dist文件复制到“ node-hm”-仅加载索引,其他文件(如CSS)不会加载


我想念什么?

最佳答案

在这里找到答案:

https://talk.plesk.com/threads/use-nodejs-and-problem-with-express-routing.343510/

需要修改web.config来提供静态文件

    <handlers>
        <add name="iisnode" path="server.js" verb="*" modules="iisnode" />
    </handlers>

    <rewrite>
        <rules>
            <rule name="myapp">
            <match url="/*" />
                <action type="Rewrite" url="server.js" />
            </rule>
            <!-- Don't interfere with requests for node-inspector debugging -->
            <rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">
                <match url="^server.js\/debug[\/]?" />
            </rule>

        </rules>

    </rewrite>


并在server.js中定义:

app.use(express.static('dist/browser'));

10-05 20:41