当前位置: 首页 > 知识库问答 >
问题:

Azure Node.jsWeb应用的自定义启动命令(ES2015/Babel)?

屈畅
2023-03-14

我正在将ES2015node.js应用程序从Heroku迁移到Azure。

Heroku上运行的当前启动命令是

"start": "./node_modules/babel-cli/bin/babel-node.js index.js"

然而,在Azure上,我得到了

包中的启动命令“/node\u modules/babel cli/bin/babel-node.js index.js”无效。json。请使用“节点”格式

这表示Azure仅支持npm start的普通节点。

我意识到在生产环境中运行Babel节点并不理想,但我希望进行简单的迁移。

需要重新架构的三个选项是:

  1. 使用gulp工作流预编译ES2015:https://github.com/christopheranderson/azure-node-es2015-example
  2. 使用bash工作流预编译ES2015:http://www.wintellect.com/devcenter/dbaskin/deploying-an-es6-jspm-nodejs-application-to-azure
  3. 使用巴别塔注册表ala[注释中的链接]

我怀疑选项3将是最简单的,但检查是否有人遇到了类似的问题,并设法直接在Azure上的npm start中运行Babel-节点

共有2个答案

姜锋
2023-03-14

正如Gary所说,您需要使用下面的命令更新您的package.json

"scripts": {
    "start": "node ./node_modules/babel-cli/bin/babel-node.js index.js"
  }
白通
2023-03-14

根据您的问题,请将startnpm脚本修改为节点/节点\模块/babel cli/bin/babel节点。js索引。Azure Web应用程序上的js

下面是test包中的内容。json

{
  "name": "website",
  "description": "A basic website",
  "version": "1.0.0",
  "engines": {
    "node": "5.9.1",
    "npm": "3.7.3"
  },
  "scripts": {
    "start": "node ./node_modules/babel-cli/bin/babel-node.js index.js"
  },
  "dependencies": {
    "babel-preset-es2015": "^6.6.0",
    "babel-cli": "^6.0.0"
  }
}

同时,如果您需要更高的Node.js版本,您可以在package.json中指定,请参阅https://azure.microsoft.com/en-us/documentation/articles/nodejs-specify-node-version-azure-apps/了解更多信息。

 类似资料:
  • 应用服务启动可以在多个地方进行调整,以下介绍两种方案,Dockerfile 和 平台详情页调整 Dockerfile CMD启动方式 看一下简单的例子: FROM hub.kpaas.nsini.com/app/hello:v0.0.3 CMD ["/go/bin/hello"] 启动命令写在CMD这个后面,如果后面有多个参数可以以逗号隔开例如: CMD ["static-web", "-pa

  • 问题内容: 我遇到的是与该问题相同的问题,由于最初的提问者放弃了这条路线,因此并未真正解决。我正在尝试使用Babel6在Azure上运行节点应用程序。我正在使用的文件包含以下内容: 我已经使用Azure控制台进行了检查,节点模块已安装,文件位于中。尽管如此,当我提交到Azure时仍然得到以下信息: 在Azure上运行的npm版本是3.10.3,节点版本是6.6.0。任何人都可以建议如何启动和运行它

  • 3.3 自定义命令 命令语法 定义命令与定义映射的用法其实很相似: :command {lhs} {rhs} 只不过在使用自定义命令时,{lhs} 是直接输入到命令行中的,当你按下回车时,vim 就将 {lhs} 替换为 {rhs} 再执行。所以这在形式上与下面这个映射等效: : nnoremap :{lhs}<CR> :{rhs}<CR> 当然,由于 :command 所支持的参数与 :ma

  • 问题内容: 我有一个名为“ example”的库,该库正在安装到我的全局site- packages目录中。但是,我希望能够安装两个版本,一个用于生产版本,一个用于测试版本(我有一个Web应用程序,而其他东西也都以这种方式进行了版本化)。 有没有一种方法可以指定,例如“ python setup.py stage”,它不仅可以将其他鸡蛋安装到站点程序包中,还可以将模块从“ example”重命名为

  • 应用可以通过manage.py注册它们自己的动作。例如,你可能想为你正在发布的Django应用添加一个manage.py动作。在本页文档中,我们将为教程中的 polls应用构建一个自定义的 closepoll命令。 要做到这点,只需向该应用添加一个management/commands目录。Django将为该目录中名字没有以下划线开始的每个Python模块注册一个manage.py命令。例如: p

  • 当尝试运行或调试带有applicationIdSuffix(.debug)的自定义BuildType时,手机上安装了应用程序,但正确的活动实际上并没有启动。实际上,启动了具有原始包名的活动(示例:在应该启动com.fobbymaster.app.debug时启动了com.fobbymaster.app)。 我在想,有一些配置需要修改,但我似乎找不到。 有什么想法吗? 设备SHELL命令:pm in