2017-04-11 3 views
1

私はMeteor/Angular2/Typescriptプロジェクトでnode-simple-schemaを使用していて、入力に関する問題が発生しています。私は無駄にパッケージで問題を開けてみました:node-simple-schemaの適切な型付けを作成する

https://github.com/aldeed/node-simple-schema/issues/90

私が投稿何から:再現する 「手順: - 『gitのクローンhttps://github.com/bsliran/angular2-meteor-base』 を経由して新しいプロジェクトを作成します - 準備パッケージ

meteor update 
meteor update --all-packages 
meteor npm update 
meteor remove insecure 
meteor remove autopublish 
meteor add aldeed:collection2-core 
meteor npm install --save simpl-schema 
meteor add aldeed:schema-deny 
meteor add aldeed:schema-index 
meteor add accounts-password 
meteor add alanning:roles 
  • '/both/models/shared.schema.ts'
  • 続きのファイルを作成します。ファイルの内容:

    import {SimpleSchema} from 'simple-schema';

    エクスポートCONST MyValidationContext =新しいSimpleSchema({ 名:{ タイプ:文字列 }})。

  • は、エラーが発生します。他の場所でアプリケーション内で使用するためにエクスポート 名前検証コンテキスト:行動期待

.meteor/packages/meteor-tool/.1.4.3_2.13aht4s++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:280 W20170403-05:53:05.591(0)? (STDERR) throw(ex); W20170403-05:53:05.591(0)? (STDERR)^W20170403-05:53:05.591(0)? (STDERR) W20170403-05:53:05.592(0)? (STDERR) TypeError: simpl_schema_1.SimpleSchema is not a function W20170403-05:53:05.592(0)? (STDERR) at meteorInstall.both.models.shared.schema.js (both/models/shared.schema.ts:6:35) W20170403-05:53:05.592(0)? (STDERR) at fileEvaluate (packages/modules-runtime.js:197:9) W20170403-05:53:05.592(0)? (STDERR) at require (packages/modules-runtime.js:120:16) W20170403-05:53:05.592(0)? (STDERR) at server/main.ts:4:22 W20170403-05:53:05.593(0)? (STDERR) at /var/webapps/schema/.meteor/local/build/programs/server/boot.js:303:34 W20170403-05:53:05.593(0)? (STDERR) at Array.forEach (native) W20170403-05:53:05.594(0)? (STDERR) at Function..each..forEach (/home/blah/.meteor/packages/meteor-tool/.1.4.3_2.13aht4s++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11) W20170403-05:53:05.594(0)? (STDERR) at /var/webapps/schema/.meteor/local/build/programs/server/boot.js:128:5 W20170403-05:53:05.594(0)? (STDERR) at /var/webapps/schema/.meteor/local/build/programs/server/boot.js:352:5 W20170403-05:53:05.595(0)? (STDERR) at Function.run (/var/webapps/schema/.meteor/local/build/programs/server/profile.js:510:12)

  • dts-gen -m simpl-schema

    2:古い、廃止予定の流星 - シンプルなスキーマのタイピングをインポートtypings install --save meteor-simple-schema --source global --global私は

1を試してみました他に何

  • 。そこから/ typings/globals/meteor-simple-schemaの型をコピーし、/typings.d.tsに新しいモジュールsimple-schemaを宣言して貼り付けました。

    はTypeError:いくつかの調整後に、私は最も重要なものを除くすべてのコンパイルエラーによってほとんどだsimpl_schema_1.SimpleSchemaは機能

    ではありません、私は逃したか、私のセットアップで間違ってやったものがありますこの点に到達するには?まだ見つけられていないタイプのタイピングがありますか?モジュールの型を宣言するためのより簡単な方法はありますか?私は手動でそれをやらなければならないことに自分自身を辞めましたが、明らかにnew SimpleSchemaを可能にするタイプを書く方法を理解することはできません。

    ありがとうございました。

  • 答えて

    0

    に示されているように、賞賛なしで試しましたか?

    import SimpleSchema from 'simpl-schema'; 
    

    パッケージは、default memberをエクスポートします。

    +0

    私は持っていました。私はそれが/simpl-schema/main.jsでエクスポートされたものを見ることができるということに同意してデフォルトのメンバーをエクスポートしていないというエラーが出ました。もう一度やってみて、ただ安全にする。 –

    +0

    /collections/shared/shared.schema.ts(8,8):モジュール 'simpl-schema'にはデフォルトのエクスポートがありません。しかし、あなたは、_itがクラッシュしていないことを知っています。それは単なるコンパイルエラーです。私はなぜコンパイラがそれを見ることができないのだろうかと思っていますが、動作しているように見え、Meteorが読み込まれて実行されます。これはさらにトラブルシューティングを行うことができます。 –

    +0

    あなたの入力定義には、デフォルトの書き出しが含まれていない可能性があります。 TypeScriptはこれらの入力をコード解析に依存していますが、誤った入力は基になるJSコードには影響しません。 – ghybs

    関連する問題