部署到 Azure Linux Web App 我得到 要导入 Sass 文件,首先需要安装 node-sass

问题描述 投票:0回答:1

当我将使用Create-React-App创建的React App部署到Linux上的Azure Web App时,当我浏览网站时得到以下信息?

要导入 Sass 文件,首先需要安装 node-sass。

当我在本地运行时,一切正常(从Mac运行)。我检查了DevOps部署日志,报告说它安装了node-sass,没有问题。我也试过删除node_modules和npm安装中的node-sass文件夹。这样又顺利地添加了node-sass,但我还是得到了这个错误。

有谁曾经遇到过这种情况,或者有什么建议?

这是Yaml文件。

# Node.js React Web App to Linux on Azure
# Build a Node.js React app and deploy it to Azure as a Linux web app.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript

trigger:
- master

variables:

  # Azure Resource Manager connection created during pipeline creation
  azureSubscription: '<Remove for Security>'

  # Web app name
  webAppName: '<Remove for Security>'

  # Environment name
  environmentName: '<Remove for Security>'

  # Agent VM image name
  vmImageName: 'ubuntu-latest'

stages:
- stage: Build
  displayName: Build stage
  jobs:  
  - job: Build
    displayName: Build
    pool:
      vmImage: $(vmImageName)

    steps:
    - task: ArchiveFiles@2
      displayName: 'Archive files'
      inputs:
        rootFolderOrFile: '$(System.DefaultWorkingDirectory)'
        includeRootFolder: false
        archiveType: zip
        archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
        replaceExistingArchive: true

    - upload: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip
      artifact: drop

- stage: Deploy
  displayName: Deploy stage
  dependsOn: Build
  condition: succeeded()
  jobs:
  - deployment: Deploy
    displayName: Deploy
    environment: $(environmentName)
    pool: 
      vmImage: $(vmImageName)
    strategy:
      runOnce:
        deploy:
          steps:            
          - task: AzureRmWebAppDeployment@4
            displayName: 'Azure App Service Deploy: <Remove for Security>'
            inputs:
              azureSubscription: $(azureSubscription)
              appType: webAppLinux
              WebAppName: $(webAppName)
              packageForLinux: '$(Pipeline.Workspace)/drop/$(Build.BuildId).zip'
              RuntimeStack: 'NODE|10.10'
              StartupCommand: 'npm run start'
              ScriptType: 'Inline Script'
              InlineScript: |
                npm install
                npm run build --if-present
reactjs azure-devops azure-web-sites node-sass
1个回答
1
投票

我在另一个node包中也遇到了类似的问题。在这种情况下,node包没有得到解决,请尝试使用-g标志全局安装你的node包。

© www.soinside.com 2019 - 2024. All rights reserved.