【问题标题】:Deploying Aurelia Apps with gulp使用 gulp 部署 Aurelia 应用程序
【发布时间】:2016-11-14 21:21:51
【问题描述】:

我在使用 Aurelia 文档 here 中概述的“gulp”过程部署我的第一个 Aurelia 应用程序时遇到了一些问题。我开始使用 Aurelia 提供的 ES 2016 Kit 开发它。通过 npm 安装 aurelia-bundler 和 gulp 并创建 bundle.js 文件后,gulp 指出运行“gulp bundle”命令时没有找到 gulpfile。

我尝试将 bundle.js 重命名为 gulpfile.js。然后它抛出了关于无法找到 injectionConfigPath 的错误(在捆绑 JSPM v0.17 应用程序下将进一步讨论)。

我是否需要遵循 0.17 流程,而是根据文档命名 bundle.js => gulpfile.js?还是我设置有问题?

【问题讨论】:

  • 你在使用骨架导航吗?你是从根文件夹运行 gulp bundle 吗?
  • 我认为我没有使用骨架导航 - 我从主要文档/API 网站内的 Aurelia“入门”文章中可下载的任何内容开始。我尝试从 root 和 build/tasks 内部运行 gulp bundle。

标签: javascript node.js gulp aurelia


【解决方案1】:

捆绑文档假定您以骨架为基础进行工作。特别是skeleton-esnextskeleton-typescript。如果您下载了最新版本的骨架,您可以使用这两个骨架之一作为您的应用程序的起点,或者您可以尝试使用其中一个 webpack 骨架(从而学习 Webpack)。

您应该能够很快地进行转换,只需删除您将要使用的骨架中的 src 文件夹,并将其替换为您应用程序中的 src 文件夹。您还需要将任何依赖项,无论是 npm 还是(更有可能)jspm 从现有应用程序复制到骨架。然后你可以运行npm installjspm install 然后gulp bundle

您在“入门”页面上下载的工具包仅用作一种工具,可帮助您按照入门指南的方式进行操作,而无需在现代 JavaScript 工具这个疯狂、混乱的世界中摸索。它没有提供我们的骨架提供的全套工具,或者我们的 CLI 将(很快)。

快速编辑:“A Production Setup”中提到了下载骨架并使用它们工作。

【讨论】:

  • 我不得不在骨架 esnext 中包含的 gulpfile.js 的顶部添加“use strict”,但这似乎让它工作了,谢谢!由于某种原因,它没有将 aurelia-*.js 文件复制到 /dist 中,所以我手动复制了其中缺少的内容,一切看起来都很好。 config.js npm:路径都正确指向它们存在的位置。有什么我错过的东西可以复制吗?
  • 你运行的是什么版本的节点?这与“使用严格”部分有关。
  • aurelia.js 和 `app-build.js 是在哪里生成的? github.com/aurelia/skeleton-navigation/blob/master/… 告诉捆绑器将文件放在哪里
  • 节点版本 4.4.1;抱歉,我的评论不是很清楚。我现在正在运行“gulp watch”,这不是将 aurelia-* 文件拉入 /dist 的原因。当我继续阅读“gulp bundle”的文档时,app-build.js 被生成到 /dist 中,但是在 vendor-build.js => 上失败了 => 错误:ENOENT:没有这样的文件或目录,打开“D:\ EPA\skeleton-esnext\jspm_packages\github\aurelia\template-binding.js'。我不确定为什么当 config.js 声明 npm:aurelia-* 时它会出现在那里
  • 供应商构建?在骨架的 gulp 任务中没有创建这样的文件。有aurelia.jsapp-build.js
猜你喜欢
  • 1970-01-01
  • 2018-09-10
  • 2017-09-05
  • 2016-01-27
  • 1970-01-01
  • 1970-01-01
  • 2015-10-03
  • 2017-05-15
  • 1970-01-01
相关资源
最近更新 更多