NativeScript / NativeScript/nativescript-cli

NS/Angular app not working with latest CLI

未关闭
#4,784 5 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
JavaScript
星标
1.1k
派生
204
平均合并
1 天 9 小时
30 天内合并 PR
8

描述

Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):

  • CLI: 5.4.2
  • Cross-platform modules: Core modules? if so, 5.4.3
  • Android Runtime: 5.4.0
  • iOS Runtime: N/A
  • Plugin(s):
    "nativescript-angular": "5.0.0",
    "nativescript-bluetooth": "^1.2.0",
    "nativescript-camera": "^3.2.1",
    "nativescript-estimote-plugin": "file:estimote-nativescript-plugin",
    "nativescript-exit": "^1.0.1",
    "nativescript-floatingactionbutton": "^4.1.0",
    "nativescript-geolocation": "^4.2.3",
    "nativescript-imagecropper": "^0.1.2",
    "nativescript-imagepicker": "^4.0.0",
    "nativescript-in-app-notifications": "^0.1.0",
    "nativescript-iqkeyboardmanager": "^1.1.0",
    "nativescript-loading-indicator": "^2.3.2",
    "nativescript-local-notifications": "file:nativescript-local-notifications",
    "nativescript-theme-core": "~1.0.4",
    "nativescript-toast": "^1.4.6",
    "nativescript-vibrate": "^2.0.1",

Describe the bug
I had been working on a NS/Angular project for a month or so. The code base isn't mine and is a bit old, but I'm doing some updates/bug fixes/etc. I was working just fine, when I noticed issues testing on a new phone. I checked to see if my CLI was out of date, it was, so I updated to 5.4.2.

At that point, things went to heck in a handbasket. The CLI prompted me to update to webpack usage, I said yes, and nothing worked right.

I reverted, tried again, and told it no. I've also run tns update.

Now I get the following output when doing tns build android,

In file C:\projects\prism\wms\RediTrak2.0\app\utils\offline-util.ts line import {isIOS} from "platform" is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\utils\tapsound-util.ts line import {isIOS} from "platform" is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\utils\tapsound-util.ts line import * as app from "application" is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\utils\trackKeyboard-util.ts line import {isIOS} from "platform" is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\utils\trackKeyboard-util.ts line import {ios} from "application" is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\utils\trackKeyboard-util.ts line import {topmost} from "ui/frame" is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\vendor-platform.android.ts line require("application") is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\vendor-platform.android.ts line require("ui/frame") is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\vendor-platform.android.ts line require("ui/frame/activity") is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\vendor.ts line const application = require("application") is short import. Add tns-core-modules/ in front of the required/imported module.

In file C:\projects\prism\wms\RediTrak2.0\app\vendor.ts line require("ui/styling/style-scope") is short import. Add tns-core-modules/ in front of the required/imported module.

Found peer TypeScript 2.4.2
node_modules/tns-core-modules/ui/frame/frame.d.ts(6,32): error TS6143: Module './frame-common' was resolved to 'C:/projects/prism/wms/RediTrak2.0/node_modules/tns-core-modules/ui/frame/frame-common.js', but '--allowJs' is not set.
node_modules/tns-core-modules/ui/styling/gradient.d.ts(7,25): error TS6143: Module '../../css/parser' was resolved to 'C:/projects/prism/wms/RediTrak2.0/node_modules/tns-core-modules/css/parser.js', but '--allowJs' is not set.
TypeScript compiler failed with exit code 1

To Reproduce
Not sure what to suggest here. As I said, it was an absolutely working project with an earlier version of the CLI.

Expected behavior
For it to build. :)

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先,使用列出的 CLI、runtime、plugin 和 TypeScript 版本复现 tns build android。检查 app/utils/offline-util.ts、app/utils/tapsound-util.ts、app/utils/trackKeyboard-util.ts、app/vendor.ts 和 app/vendor-platform.android.ts 中的短 imports,以及报告的 tns-core-modules 错误。现有项目能够成功构建即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
android, angular, javascript, typescript
领域
build-system, cli, mobile-dev
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。