検索

ホームページ  >  に質問  >  本文

Electron でレンダリング スレッドを記述するために Anguar を使用する際の問題

###こんにちは、みんな:###

electron のレンダリング スレッドで angular フレームワークを使用したいのですが、webpack でコードをパッケージ化したくないのです。electron のレンダリング スレッドは commonJS 構文もサポートしているため、Typescript を commonJS に変換するだけで済みます。パッケージ化せずに、index.html 内の対応するファイルを直接要求します。以下は私の実装プロセスです

最初に 3 つの ts ファイルを作成しました

    app.component.ts
  1. リーリー

  2. app.module.ts
  3. リーリー

  4. main.ts
  5. リーリー

  6. 次に、
tsc

を使用してこれら 3 つのファイルをコンパイルします リーリー 対応する

js

ファイルが生成され、ディレクトリ構造は次のとおりです:
次に、

index.html

require('./main') リーリー 電子プログラムを開始

これまでのところ、プログラムは正常に見え、目的を満たしていますが、入力ボックスの内容を変更すると問題が発生します。{{name}}# の下の

h1

タグの ##式は入力ボックスの値によって変化しません。つまり、データ バインディングは効果がありません。 ###次...### 次に、問題の原因を調査するために、webpack

を使用する前に、

tsc

によって生成された 3 つの js ファイルをパッケージ化しました。 リーリー index.htmlrequire

ステートメントを

require('./main.out') に置き換えて、プログラムを再度実行します

ここで入力の内容を変更すると、データ バインディングが有効になります。 ! ! 理由を知っている人はいますか?ご存知でしたら教えてください、よろしくお願いします! ! !

某草草某草草2791日前861

全員に返信(2)返信します

  • 欧阳克

    欧阳克2017-06-14 10:55:29

    main.tsのimport 'zone.js'改成import 'zone.js/dist/zone.js'
    を変更したい場合は、zone.jsのpackage.jsonを見れば理由が分かるはずです

    返事
    0
  • 阿神

    阿神2017-06-14 10:55:29

    私は電子についてはあまり詳しくありませんが、あなたの問題はインポートに関するものだと思います。

    まず、webpack の動作原理は、すべての js をパッケージ化することです。たとえば、node_modules里面的@angular/core, 那webpack知道会去node_modules里面去找到他并打包到指定的文件夹里面去(比如你的app文件夹里面),所以使用webpack后引用是正常的。 那问题就在这里了, electron对于非./开头的路径会去node_modules を引用すると見つかりますか?

    返事
    0
  • キャンセル返事