electron のレンダリング スレッドで angular フレームワークを使用したいのですが、webpack でコードをパッケージ化したくないのです。electron のレンダリング スレッドは commonJS 構文もサポートしているため、Typescript を commonJS に変換するだけで済みます。パッケージ化せずに、index.html 内の対応するファイルを直接要求します。以下は私の実装プロセスです
最初に 3 つの ts ファイルを作成しました
リーリー
対応する ファイルが生成され、ディレクトリ構造は次のとおりです:
次に、
require('./main')
で
リーリー
電子プログラムを開始これまでのところ、プログラムは正常に見え、目的を満たしていますが、入力ボックスの内容を変更すると問題が発生します。{{name}}# の下の
h1 タグの ##式は入力ボックスの値によって変化しません。つまり、データ バインディングは効果がありません。
###次...###
次に、問題の原因を調査するために、
webpack
によって生成された 3 つの js
ファイルをパッケージ化しました。
リーリー
index.html
の
require
require('./main.out') に置き換えて、プログラムを再度実行します
ここで入力の内容を変更すると、データ バインディングが有効になります。 ! ! 理由を知っている人はいますか?ご存知でしたら教えてください、よろしくお願いします! ! !
main.tsの
import 'zone.js'
改成import 'zone.js/dist/zone.js'
を変更したい場合は、zone.jsのpackage.jsonを見れば理由が分かるはずです
私は電子についてはあまり詳しくありませんが、あなたの問題はインポートに関するものだと思います。
まず、webpack の動作原理は、すべての js をパッケージ化することです。たとえば、
node_modules
里面的@angular/core
, 那webpack知道会去node_modules里面去找到他并打包到指定的文件夹里面去(比如你的app文件夹里面),所以使用webpack后引用是正常的。 那问题就在这里了, electron对于非./
开头的路径会去node_modules
を引用すると見つかりますか?