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