gpt4 book ai didi

angular2 i18n 无法读取未定义的属性 'create'

转载 作者:太空狗 更新时间:2023-10-29 17:37:04 28 4
gpt4 key购买 nike

我正在使用 angular2。
我用了this project开始申请。

要实现多语言支持,请遵循 this documentation

步骤:1)执行命令

npm install @angular/compiler-cli @angular/platform-server --save

输出:

+-- UNMET PEER DEPENDENCY rxjs@5.0.0-rc.5 `-- UNMET PEER DEPENDENCY tslint@4.0.2

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\chokidar\node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.0.15: wanted {"os":"darwin","arch" :"any"} (current: {"os":"win32","arch":"x64"}) npm WARN @angular/core@2.1.1 requires a peer of rxjs@5.0.0-beta.12 but none was installed. npm WARN @angular/forms@2.2.4 requires a peer of @angular/core@2.2.4 but none was installed. npm WARN @angular/forms@2.2.4 requires a peer of @angular/common@2.2.4 but none was installed. npm WARN @angular/http@2.1.1 requires a peer of rxjs@5.0.0-beta.12 but none was installed. npm WARN @angular/router@3.1.1 requires a peer of rxjs@5.0.0-beta.12 but none was installed. npm WARN codelyzer@1.0.0-beta.4 requires a peer of tslint@^3.9.0 but none was installed. npm WARN codelyzer@1.0.0-beta.4 requires a peer of @angular/compiler@~2.2.0 but none was installed. npm WARN codelyzer@1.0.0-beta.4 requires a peer of @angular/core@~2.2.0 but none was installed. npm WARN tslint-loader@2.1.5 requires a peer of tslint@^3.0.0 but none was installed. npm WARN @angular/compiler-cli@2.4.1 requires a peer of @angular/compiler@2.4.1 but none was installed. npm WARN @angular/compiler-cli@2.4.1 requires a peer of @angular/core@2.4.1 but none was installed.

2) 执行命令“./node_modules/.bin/ng-xi18n” 它给了我以下错误

C:\Projects\temp\PathTrak3\PathTrak>"./node_modules/.bin/ng-xi18n" TypeError: Cannot read property 'create' of undefined at Function.Extractor.create (C:\Projects\temp\PathTrak3\PathTrak\node_modules\@angular\compiler-cli\src\extractor .js:69:45) at extract (C:\Projects\temp\PathTrak3\PathTrak\node_modules\@angular\compiler-cli\src\extract_i18n.js:7:34) at Object.main (C:\Projects\temp\PathTrak3\PathTrak\node_modules\@angular\tsc-wrapped\src\main.js:47:16) at Object. (C:\Projects\temp\PathTrak3\PathTrak\node_modules\@angular\compiler-cli\src\extract_i18n.js: 14:9) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.runMain (module.js:604:10) Extraction failed

由于这个错误,我无法实现国际化。请在 package.json 文件中找到以下依赖项

 "dependencies": {
"@angular/common": "2.1.1",
"@angular/compiler": "2.1.1",
"@angular/compiler-cli": "^2.4.1",
"@angular/core": "2.1.1",
"@angular/forms": "^2.1.1",
"@angular/http": "2.1.1",
"@angular/platform-browser": "2.1.1",
"@angular/platform-browser-dynamic": "2.1.1",
"@angular/platform-server": "^2.1.1",
"@angular/router": "3.1.1",
"@angularclass/conventions-loader": "^1.0.2",
"@angularclass/hmr": "~1.2.0",
"@angularclass/hmr-loader": "~3.0.2",
"angular2-highcharts": "^0.4.0",
"assets-webpack-plugin": "^3.4.0",
"core-js": "^2.4.1",
"http-server": "^0.9.0",
"ie-shim": "^0.1.0",
"rxjs": "^5.0.0-rc.1",
"zone.js": "~0.6.17"
}

是不是package.json文件的版本问题?请帮忙

谢谢,萨达尔内尔

------------------------------------修改------ --------------

我删除了 node_modules 文件夹并尝试更新 package.json 如下,解决了 UNMET dpendancy 问题,但在运行时出现错误错误

C:\Projects\temp\PathTrak12\PathTrak>npm start

> angular2-webpack-starter@5.1.1 start C:\Projects\temp\PathTrak12\PathTrak
> npm run server:dev


> angular2-webpack-starter@5.1.1 server:dev C:\Projects\temp\PathTrak12\PathTrak
> webpack-dev-server --config config/webpack.dev.js --progress --profile --watch --content-base src/

keywords if/then/else require v5 option

C:\Projects\temp\PathTrak12\PathTrak\config\webpack.common.js:178
new ForkCheckerPlugin(),
^
TypeError: ForkCheckerPlugin is not a constructor
at module.exports (C:\Projects\temp\PathTrak12\PathTrak\config\webpack.common.js:178:7)
at Object.<anonymous> (C:\Projects\temp\PathTrak12\PathTrak\config\webpack.dev.js:23:31)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at requireConfig (C:\Projects\temp\PathTrak12\PathTrak\node_modules\webpack\bin\convert-argv.js:98:18)
at C:\Projects\temp\PathTrak12\PathTrak\node_modules\webpack\bin\convert-argv.js:111:17
at Array.forEach (native)
at module.exports (C:\Projects\temp\PathTrak12\PathTrak\node_modules\webpack\bin\convert-argv.js:109:15)
at Object.<anonymous> (C:\Projects\temp\PathTrak12\PathTrak\node_modules\webpack-dev-server\bin\webpack-dev-server.js:190:48)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "server:de
v"
npm ERR! node v6.9.1
npm ERR! npm v3.10.8
npm ERR! code ELIFECYCLE
npm ERR! angular2-webpack-starter@5.1.1 server:dev: `webpack-dev-server --config config/webpack.dev.js --progress --profile --watch
--content-base src/`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the angular2-webpack-starter@5.1.1 server:dev script 'webpack-dev-server --config config/webpack.dev.js --progres
s --profile --watch --content-base src/'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the angular2-webpack-starter package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! webpack-dev-server --config config/webpack.dev.js --progress --profile --watch --content-base src/
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs angular2-webpack-starter
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls angular2-webpack-starter
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! C:\Projects\temp\PathTrak12\PathTrak\npm-debug.log

npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "start"
npm ERR! node v6.9.1
npm ERR! npm v3.10.8
npm ERR! code ELIFECYCLE
npm ERR! angular2-webpack-starter@5.1.1 start: `npm run server:dev`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the angular2-webpack-starter@5.1.1 start script 'npm run server:dev'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the angular2-webpack-starter package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! npm run server:dev
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs angular2-webpack-starter
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls angular2-webpack-starter
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! C:\Projects\temp\PathTrak12\PathTrak\npm-debug.log

package.json 文件

"dependencies": {
"@angular/common": "~2.4.1",
"@angular/compiler": "~2.4.1",
"@angular/compiler-cli": "~2.4.1",
"@angular/core": "~2.4.1",
"@angular/forms": "~2.4.1",
"@angular/http": "~2.4.1",
"@angular/platform-browser": "~2.4.1",
"@angular/platform-browser-dynamic": "~2.4.1",
"@angular/platform-server": "~2.4.1",
"@angular/router": "~3.4.1",
"@angularclass/conventions-loader": "^1.0.2",
"@angularclass/hmr": "~1.2.2",
"@angularclass/hmr-loader": "~3.0.2",
"angular2-highcharts": "^0.4.0",
"assets-webpack-plugin": "^3.4.0",
"core-js": "^2.4.1",
"http-server": "^0.9.0",
"ie-shim": "^0.1.0",
"rxjs": "~5.0.2",
"zone.js": "~0.7.4"
},
"devDependencies": {
"@types/hammerjs": "^2.0.33",
"@types/jasmine": "^2.2.34",
"@types/node": "^6.0.38",
"@types/protractor": "^1.5.20",
"@types/selenium-webdriver": "2.53.38",
"@types/source-map": "^0.5.0",
"@types/uglify-js": "^2.0.27",
"@types/webpack": "^2.0.0",
"angular2-template-loader": "^0.6.0",
"awesome-typescript-loader": "~3.0.0-beta.17",
"codelyzer": "~2.0.0-beta.4",
"copy-webpack-plugin": "^4.0.0",
"css-loader": "^0.26.0",
"exports-loader": "^0.6.3",
"expose-loader": "^0.7.1",
"file-loader": "^0.9.0",
"gh-pages": "^0.12.0",
"html-webpack-plugin": "^2.21.0",
"imports-loader": "^0.7.0",
"istanbul-instrumenter-loader": "1.2.0",
"json-loader": "^0.5.4",
"karma": "^1.2.0",
"karma-chrome-launcher": "^2.0.0",
"karma-coverage": "^1.1.1",
"karma-jasmine": "^1.0.2",
"karma-mocha-reporter": "^2.0.0",
"karma-remap-coverage": "^0.1.4",
"karma-sourcemap-loader": "^0.3.7",
"karma-webpack": "1.8.1",
"node-sass": "^4.1.1",
"parse5": "^2.2.1",
"protractor": "^4.0.10",
"raw-loader": "0.5.1",
"rimraf": "~2.5.4",
"sass-loader": "^4.1.1",
"script-ext-html-webpack-plugin": "1.3.2",
"source-map-loader": "^0.1.5",
"string-replace-loader": "1.0.5",
"style-loader": "^0.13.1",
"to-string-loader": "^1.1.4",
"ts-helpers": "1.1.2",
"ts-node": "^2.0.0",
"tslint": "^4.0.0-dev.0",
"tslint-loader": "^3.3.0",
"typedoc": "^0.5.3",
"typescript": "2.0.10",
"url-loader": "^0.5.7",
"webpack": "^2.1.0-beta",
"webpack-dev-middleware": "^1.6.1",
"webpack-dev-server": "2.2.0-rc.0",
"webpack-md5-hash": "^0.0.5",
"webpack-merge": "~2.0.0"
}

最佳答案

我想这只是您的angular 版本 不匹配。您应该为每个 @angular 坚持使用相同的版本包(路由器除外,它将高出 1 个主要版本直到发布 angular 4)。

与你的...

npm install @angular/compiler-cli @angular/platform-server --save

...看起来你至少有@angular/compiler-cli在 2.4.1 并且可能和 @angular/platform-server在 2.4.1。因为你设置了other @angular打包到固定版本 2.1.1 会有一些冲突。

注意:文档将始终假定您使用的是最新(稳定)的 Angular 版本。

那么如何解决呢...


1。安装旧包

您可以通过添加 @angular/compiler-cli 来安装旧包& @angular/platform-server修复 package.json 中的 2.1.1 (不要忘记在此处删除插入符号 (^))。然后删除你的 node_modules文件夹并运行 npm install再次。


2。 ...或更新其他包

另一种选择是更新您的其他 @angular包也更新到最新的 2.4.1 版本。在这里,您必须将 package.json 中的 2.1.1 替换为 2.4.1 (除了 3.4.1 的路由器)。然后删除你的 node_modules文件夹并运行 npm install再次。

在这里您可能会遇到一些其他问题,具体取决于您的应用...您可能需要检查 Changelog首先。


仅供引用:当您安装新的 @angular 时打包到您的项目中,请始终坚持使用您现在使用的版本。要在您的情况下安装特定版本(请注意 @2.1.1 ):

npm install @angular/compiler-cli@2.1.1 @angular/platform-server@2.1.1 --save

...或全部更新到新版本 ;-)

关于angular2 i18n 无法读取未定义的属性 'create',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41362551/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com