- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我的 Angular 应用程序目前在 4.1.3
和 Typescript@2.0.3
。我读到 Typescript
大于 2.0 时,应该使用 @types
。
目前我在应用程序中安装了打字。要迁移到使用 @types
,我有 3 个问题:
1.我应该简单地从 package.json
和 tsconfig.json
中删除 typings
吗?并安装 @types
包?
@types
包?typings.json
文件吗?package.json:
{
"homepage": "https://github.com/angularclass/angular2-webpack-starter",
"license": "MIT",
"scripts": {
"rimraf": "rimraf",
"tslint": "tslint",
"typedoc": "typedoc",
"typings": "typings",
"webpack": "webpack",
"webpack-dev-server": "webpack-dev-server",
"webdriver-manager": "webdriver-manager",
"protractor": "protractor",
"clean": "npm cache clean && npm run rimraf -- node_modules doc typings coverage dist",
"clean:dist": "npm run rimraf -- dist",
"preclean:install": "npm run clean",
"clean:install": "npm set progress=false && npm install",
"preclean:start": "npm run clean",
"clean:start": "npm start",
"watch": "npm run watch:local",
"watch:dev": "npm run build:dev -- --watch",
"watch:local": "npm run build:local -- --watch",
"watch:dev:hmr": "npm run watch:dev -- --hot",
"watch:test": "npm run test -- --auto-watch --no-single-run",
"watch:uat": "npm run uat -- --auto-watch --no-single-run",
"watch:prod": "npm run build:prod -- --watch",
"build": "npm run build:local",
"prebuild:dev": "npm run clean:dist",
"build:dev": "webpack --config config/webpack.dev.js --progress --profile --colors --display-error-details --display-cached",
"build:local": "webpack --config config/webpack.local.js --progress --profile --colors --display-error-details --display-cached",
"build:devplus": "webpack --config config/webpack.devplus.js --progress --profile --colors --display-error-details --display-cached",
"build:test": "webpack --config config/webpack.test.js --progress --profile --colors --display-error-details --display-cached --bail",
"build:uat": "webpack --config config/webpack.uat.js --progress --profile --colors --display-error-details --display-cached --bail",
"prebuild:prod": "npm run clean:dist",
"build:prod": "webpack --config config/webpack.prod.js --progress --profile --colors --display-error-details --display-cached --bail",
"server": "npm run server:dev",
"server:dev": "webpack-dev-server --config config/webpack.dev.js --inline --progress --profile --colors --watch --display-error-details --display-cached --content-base src/",
"server:local": "webpack-dev-server --config config/webpack.local.js --inline --progress --profile --colors --watch --display-error-details --display-cached --content-base src/",
"server:dev:hmr": "npm run server:dev -- --hot",
"server:prod": "http-server dist --cors",
"webdriver:update": "npm run webdriver-manager update",
"webdriver:start": "npm run webdriver-manager start",
"lint": "npm run tslint 'src/**/*.ts'",
"pree2e": "npm run webdriver:update -- --standalone",
"e2e": "npm run protractor",
"e2e:live": "npm run e2e -- --elementExplorer",
"pretest": "npm run lint",
"test": "node --max-old-space-size=4096 node_modules/karma/bin/karma start",
"ci": "npm run e2e && npm run test",
"docs": "npm run typedoc -- --options typedoc.json --exclude '**/*.spec.ts' ./src/",
"start": "npm run server:local",
"start:hmr": "npm run server:dev:hmr",
"postinstall": "npm run typings -- install",
"preversion": "npm test",
"version": "npm run build",
"postversion": "git push && git push --tags"
},
"dependencies": {
"@angular/common": "~4.1.3",
"@angular/compiler": "~4.1.3",
"@angular/core": "~4.1.3",
"@angular/forms": "~4.1.3",
"@angular/http": "~4.1.3",
"@angular/platform-browser": "~4.1.3",
"@angular/platform-browser-dynamic": "~4.1.3",
"@angular/router": "~4.1.3",
"@angular/router-deprecated": "2.0.0-rc.2",
"@angular/upgrade": "~4.1.3",
"angular2-toaster": "1.0.1",
"core-js": "^2.4.1",
"css-loader": "0.23.1",
"fullcalendar": "^2.7.1",
"hammerjs": "^2.0.8",
"intl": "1.2.4",
"jquery": "2.2.2",
"jquery-ui": "1.10.5",
"lodash": "^4.17.4",
"ng2-auto-complete": "^0.7.0",
"ng2-cookies": "^0.1.5",
"ng2-file-upload": "^1.0.0-beta.1",
"node-sass": "^3.8.0",
"normalize.css": "^4.1.1",
"path-to-regexp": "^1.5.3",
"postcss": "^5.0.19",
"postcss-loader": "^0.8.2",
"primeng": "1.0.0-beta.15",
"primeui": "4.1.10",
"resolve-url-loader": "^1.6.0",
"rxjs": "^5.0.1",
"sass-loader": "^3.2.3",
"style-loader": "^0.13.1",
"tether": "^1.2.0",
"url-loader": "^0.5.7",
"zone.js": "^0.8.4"
},
"devDependencies": {
"angular2-hmr": "~0.5.5",
"awesome-typescript-loader": "~0.17.0",
"babel-core": "^6.18.2",
"babel-loader": "^6.2.8",
"babel-plugin-transform-es2015-modules-commonjs-simple": "^6.7.0",
"babel-preset-es2015": "^6.1.18",
"babel-preset-es2015-webpack": "^6.4.0",
"bootstrap": "4.0.0-alpha.2",
"bootstrap-loader": "1.0.10",
"codelyzer": "0.0.15",
"compression-webpack-plugin": "^0.3.1",
"copy-webpack-plugin": "^2.1.3",
"css-loader": "^0.23.1",
"es6-promise": "^3.1.2",
"es6-promise-loader": "^1.0.1",
"es6-shim": "^0.35.0",
"exports-loader": "^0.6.3",
"expose-loader": "^0.7.1",
"extract-text-webpack-plugin": "^1.0.1",
"file-loader": "^0.8.5",
"html-webpack-plugin": "^2.15.0",
"http-server": "^0.9.0",
"imports-loader": "^0.6.5",
"istanbul-instrumenter-loader": "^0.2.0",
"json-loader": "^0.5.4",
"karma": "^0.13.22",
"karma-chrome-launcher": "^0.2.3",
"karma-coverage": "^0.5.5",
"karma-jasmine": "^0.3.8",
"karma-mocha-reporter": "^2.0.0",
"karma-phantomjs-launcher": "^1.0.0",
"karma-sourcemap-loader": "^0.3.7",
"karma-webpack": "1.7.0",
"lodash": "^4.6.1",
"moment": "^2.11.2",
"node-sass": "3.7.0",
"npmconf": "2.1.2",
"parse5": "^2.1.5",
"phantomjs-polyfill": "0.0.2",
"phantomjs-prebuilt": "^2.1.7",
"protractor": "^3.2.2",
"raw-loader": "0.5.1",
"reflect-metadata": "^0.1.3",
"remap-istanbul": "^0.6.3",
"resolve-url-loader": "^1.4.3",
"rimraf": "^2.5.2",
"sass-loader": "^3.2.0",
"source-map-loader": "^0.1.5",
"style-loader": "^0.13.1",
"ts-helpers": "1.1.1",
"ts-node": "^0.7.1",
"tslint": "^3.7.1",
"tslint-loader": "^2.1.3",
"typedoc": "^0.3.12",
"typescript": "2.0.3",
"typings": "^1.5.0",
"url-loader": "^0.5.7",
"webpack": "^1.12.14",
"webpack-dev-server": "^1.14.1",
"webpack-load-plugins": "^0.1.2",
"webpack-md5-hash": "^0.0.5",
"webpack-merge": "^0.12.0",
"webpack-validator": "^1.0.0-beta.4"
},
"repository": {
"type": "git",
"url": "https://github.com/angularclass/angular2-webpack-starter.git"
},
"bugs": {
"url": "https://github.com/angularclass/angular2-webpack-starter/issues"
},
"engines": {
"node": ">= 4.2.1",
"npm": ">= 3"
}
}
tsconfig.json:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"lib" : ["es2015", "es6", "es7", "dom", "es2015.iterable"],
"noImplicitAny": false,
"suppressImplicitAnyIndexErrors": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": true,
"skipLibCheck": true,
"noEmitHelpers": true,
"allowJs" : true
},
"exclude": [
"node_modules",
"typings/modules",
"typings"
],
"filesGlob": [
"./src/**/*.ts",
"./test/**/*.ts",
"!./node_modules/**/*.ts",
"src/custom_typings.d.ts",
"typings/index.d.ts"
],
"awesomeTypescriptLoaderOptions": {
"resolveGlobs": true,
"forkChecker": true
},
"compileOnSave": false,
"buildOnSave": false,
"atom": { "rewriteTsconfig": false }
}
从 typings
迁移到 @types
后,我在尝试运行我的应用程序时遇到了以下问题:
errors.ts?f2f7:42 ERROR TypeError: directive.ngOnChanges is not a function
at checkAndUpdateDirectiveInline (eval at 3
(http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:10819:19)
at checkAndUpdateNodeInline (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12245:17)
at checkAndUpdateNode (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12184:16)
at prodCheckAndUpdateNode (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12711:5)
at Object.eval [as updateDirectives] (ng:///AppModule/EventContainer.ngfactory.js:83:5)
at Object.updateDirectives (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12625:72)
at checkAndUpdateView (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12151:14)
at callViewAction (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12514:21)
at execEmbeddedViewsAction (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12472:17)
at checkAndUpdateView (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12152:5)
at callViewAction (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12514:21)
at execComponentViewsAction (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12446:13)
at checkAndUpdateView (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12157:5)
at callViewAction (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12514:21)
at execComponentViewsAction (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12446:13)
at checkAndUpdateView (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12157:5)
at callViewAction (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12514:21)
at execEmbeddedViewsAction (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12472:17)
at checkAndUpdateView (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12152:5)
at callViewAction (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12514:21)
at execComponentViewsAction (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12446:13)
at Object.checkAndUpdateView (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:12157:5)
at ViewRef_.detectChanges (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:10225:63)
at eval (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:5082:63)
at Array.forEach (native)
at ApplicationRef_.tick (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:5082:25)
at eval (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:4962:106)
at ZoneDelegate.invoke (eval at <anonymous> (http://localhost:8000/polyfills.bundle.js:1392:2), <anonymous>:391:26)
at Object.onInvoke (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:4156:37)
at ZoneDelegate.invoke (eval at <anonymous> (http://localhost:8000/polyfills.bundle.js:1392:2), <anonymous>:390:32)
at Zone.run (eval at <anonymous> (http://localhost:8000/polyfills.bundle.js:1392:2), <anonymous>:141:43)
at NgZone.run (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:4024:62)
at Object.next (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:4962:82)
at SafeSubscriber.schedulerFn [as _next] (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:3858:52)
at SafeSubscriber.__tryOrUnsub (eval at <anonymous> (http://localhost:8000/polyfills.bundle.js:128:2), <anonymous>:238:16)
at SafeSubscriber.next (eval at <anonymous> (http://localhost:8000/polyfills.bundle.js:128:2), <anonymous>:185:22)
at Subscriber._next (eval at <anonymous> (http://localhost:8000/polyfills.bundle.js:128:2), <anonymous>:125:26)
at Subscriber.next (eval at <anonymous> (http://localhost:8000/polyfills.bundle.js:128:2), <anonymous>:89:18)
at EventEmitter.Subject.next (eval at 26 (http://localhost:8000/vendor.bundle.js:43:2), <anonymous>:55:25)
at EventEmitter.emit (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:3844:76)
at NgZone.checkStable (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:4121:40)
at NgZone.onLeave (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:4197:14)
at Object.onInvokeTask (eval at 3 (http://localhost:8000/vendor.bundle.js:15:2), <anonymous>:4150:27)
at ZoneDelegate.invokeTask (eval at <anonymous> (http://localhost:8000/polyfills.bundle.js:1392:2), <anonymous>:423:36)
at Zone.runTask (eval at <anonymous> (http://localhost:8000/polyfills.bundle.js:1392:2), <anonymous>:191:47)
at XMLHttpRequest.ZoneTask.invoke (eval at <anonymous> (http://localhost:8000/polyfills.bundle.js:1392:2), <anonymous>:486:38)
最佳答案
typings
目录和 3.typings.json 中删除类型。但是,您应该在 tsconfig.json
中配置 @types
:{
"compilerOptions": {
"typeRoots": [ // it should do the job
"node_modules/@types"
],
"types": [ // alternatively here you can list needed typings
"node",
"jasmine",
"webpack",
"lodash"
// ... etc.
]
}
}
2。以前使用 typings
的库现在需要相应的 @types
包。找到它们的最简单方法是 npmjs.com search engine然后像这样安装它们:
npm install @types/webpack --save
希望对你有帮助。
关于javascript - 使用 typescript@2.0.3 从 "typings"迁移到 "@types",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44168660/
我在网上搜索但没有找到任何合适的文章解释如何使用 javascript 使用 WCF 服务,尤其是 WebScriptEndpoint。 任何人都可以对此给出任何指导吗? 谢谢 最佳答案 这是一篇关于
我正在编写一个将运行 Linux 命令的 C 程序,例如: cat/etc/passwd | grep 列表 |剪切-c 1-5 我没有任何结果 *这里 parent 等待第一个 child (chi
所以我正在尝试处理文件上传,然后将该文件作为二进制文件存储到数据库中。在我存储它之后,我尝试在给定的 URL 上提供文件。我似乎找不到适合这里的方法。我需要使用数据库,因为我使用 Google 应用引
我正在尝试制作一个宏,将下面的公式添加到单元格中,然后将其拖到整个列中并在 H 列中复制相同的公式 我想在 F 和 H 列中输入公式的数据 Range("F1").formula = "=IF(ISE
问题类似于this one ,但我想使用 OperatorPrecedenceParser 解析带有函数应用程序的表达式在 FParsec . 这是我的 AST: type Expression =
我想通过使用 sequelize 和 node.js 将这个查询更改为代码取决于在哪里 select COUNT(gender) as genderCount from customers where
我正在使用GNU bash,版本5.0.3(1)-发行版(x86_64-pc-linux-gnu),我想知道为什么简单的赋值语句会出现语法错误: #/bin/bash var1=/tmp
这里,为什么我的代码在 IE 中不起作用。我的代码适用于所有浏览器。没有问题。但是当我在 IE 上运行我的项目时,它发现错误。 而且我的 jquery 类和 insertadjacentHTMl 也不
我正在尝试更改标签的innerHTML。我无权访问该表单,因此无法编辑 HTML。标签具有的唯一标识符是“for”属性。 这是输入和标签的结构:
我有一个页面,我可以在其中返回用户帖子,可以使用一些 jquery 代码对这些帖子进行即时评论,在发布新评论后,我在帖子下插入新评论以及删除 按钮。问题是 Delete 按钮在新插入的元素上不起作用,
我有一个大约有 20 列的“管道分隔”文件。我只想使用 sha1sum 散列第一列,它是一个数字,如帐号,并按原样返回其余列。 使用 awk 或 sed 执行此操作的最佳方法是什么? Accounti
我需要将以下内容插入到我的表中...我的用户表有五列 id、用户名、密码、名称、条目。 (我还没有提交任何东西到条目中,我稍后会使用 php 来做)但由于某种原因我不断收到这个错误:#1054 - U
所以我试图有一个输入字段,我可以在其中输入任何字符,但然后将输入的值小写,删除任何非字母数字字符,留下“。”而不是空格。 例如,如果我输入: 地球的 70% 是水,-!*#$^^ & 30% 土地 输
我正在尝试做一些我认为非常简单的事情,但出于某种原因我没有得到想要的结果?我是 javascript 的新手,但对 java 有经验,所以我相信我没有使用某种正确的规则。 这是一个获取输入值、检查选择
我想使用 angularjs 从 mysql 数据库加载数据。 这就是应用程序的工作原理;用户登录,他们的用户名存储在 cookie 中。该用户名显示在主页上 我想获取这个值并通过 angularjs
我正在使用 autoLayout,我想在 UITableViewCell 上放置一个 UIlabel,它应该始终位于单元格的右侧和右侧的中心。 这就是我想要实现的目标 所以在这里你可以看到我正在谈论的
我需要与 MySql 等效的 elasticsearch 查询。我的 sql 查询: SELECT DISTINCT t.product_id AS id FROM tbl_sup_price t
我正在实现代码以使用 JSON。 func setup() { if let flickrURL = NSURL(string: "https://api.flickr.com/
我尝试使用for循环声明变量,然后测试cols和rols是否相同。如果是,它将运行递归函数。但是,我在 javascript 中执行 do 时遇到问题。有人可以帮忙吗? 现在,在比较 col.1 和
我举了一个我正在处理的问题的简短示例。 HTML代码: 1 2 3 CSS 代码: .BB a:hover{ color: #000; } .BB > li:after {
我是一名优秀的程序员,十分优秀!