NodeJS 在Azure应用服务中部署Typescript Express应用程序

xesrikrc  于 2022-11-22  发布在  Node.js
关注(0)|答案(1)|浏览(209)

我尝试在Azure应用服务中部署Typescript express应用,但在浏览应用URL时出现以下错误:

您没有权限查看此目录或页面。

我已经做了同样的过程来创建和部署应用程序,我通常做我的Javascript express应用程序。甚至,我做了一些改变,我看到在旧的问题有关适应环境的Typescript express应用程序。
我所做的更改之一是更改Azure应用程序的访问路径。我已将site\wwwroot更改为site\wwwroot\build,以便执行项目内部build文件夹中的已编译文件。
我不知道更多的东西,我必须修改我的应用程序可以正常工作.
无论如何,谢谢你阅读问题!

ldioqlga

ldioqlga1#

检查以下步骤以创建Typescript Node JS Express应用并将其部署到Azure应用服务。

来自Visual Studio

  • 在Visual Studio中,选取Basic Azure Node.js Express 4 TypeScript Application

本地文件文件夹结构

我的Web.config档案

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
  </appSettings>
  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
    </staticContent>

    <modules runAllManagedModulesForAllRequests="false" />
    <!-- Web.Debug.config adds attributes to this to enable remote debugging when publishing in Debug configuration. -->
    <iisnode watchedFiles="web.config;*.js;routes\*.js;views\*.pug"/>
    <handlers>
      <add name="iisnode" path="app.js" verb="*" modules="iisnode" />
    </handlers>
    <rewrite>
      <rules>
        <clear />
        <rule name="app" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
          <match url="iisnode.+" negate="true" />
          <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
          <action type="Rewrite" url="app.js" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>
  • 右键单击Solution Explorer =〉Publish
    部署的输出

  • 项目根文件夹可能缺少Web.config文件。

  • 如果您选取Basic Node.js Express 4,则它不包含Web.config档案。

  • Azure需要iisnode设置,我们可以在Web.config文件中进行设置。
  • 即使您使用Azure Linux部署应用程序,也要手动添加Web.config文件。
  • 如果您选择GIT部署,它会自动创建Web.config文件。
    已部署的文件夹结构

相关问题