dotnet fable yarn-start
analysiert und kompiliert den gesamten Quellcode bei jeder Änderung an einer Quelldatei
Nehmen Sie ein beliebiges Fable-Projekt und starten Sie dotnet fablegarn-start.
Ändern Sie eine Datei und speichern Sie sie.
Erwartet: Nur die geänderte Datei (und eventuell abhängige Dateien) werden neu kompiliert.
Aktuell: Alles wird neu kompiliert.
dotnet fable --version
): 1.3.0, 1.3.1Hallo @SCullman! Das kann ich leider nicht reproduzieren, in meinem Fall werden nur die bearbeiteten und abhängigen Dateien neu kompiliert. Haben Sie ein Repository oder ein gezipptes Projekt, um dies zu testen?
@alfonsogarciacaro Seltsam, wie auch andere berichteten das gleiche Problem in gitter an diesem Morgen. Ob ich das reproduzieren kann, werde ich anhand eines Beispielprojekts prüfen.
Schritte zum Reproduzieren:
dotnet new fable-elmish-react
.paket\paket update
yarn
cd src
dotnet restore
dotnet fable yarn-start
und dann, wenn ich einfach home/view.fs berühre:
Vielen Dank für die Repro-Schritte, @SCullman :+1: Sie müssen auch den Fable-Loader aktualisieren, können Sie yarn upgrade fable-loader
(oder nur yarn upgrade
zum Aktualisieren aller npm-Pakete) zu den Schritten hinzufügen? oben und versuchen Sie es erneut?
Neuer Versuch auf einem anderen Computer:
dotnet new fable-elmish-react
.paket\paket update
yarn install
yarn upgrade
cd src
dotnet restore
dotnet fable yarn-start
Gleiche Ergebnisse.
Ich sehe das gleiche Problem.
Seltsam, ich kann nicht reproduzieren... 😕 Hat noch jemand dieses Problem? @MangelMaxime @forki
Kann auch nicht reproduzieren, ich bin den Schritten von Home\View.fs
bearbeitet.
Ich habe dieses Ergebnis:
WARNING in C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/prelude.fs
16:15-19 "export 'some' was not found in '../../../fable.core/1.3.1/fable-core/Util'
@ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/prelude.fs
@ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
@ ./src/App.fs
@ ./src/testDaemon.fsproj
@ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/testDaemon.fsproj
WARNING in C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
172:15-25 "export 'defaultArg' was not found in '../../../fable.core/1.3.1/fable-core/Util'
@ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
@ ./src/App.fs
@ ./src/testDaemon.fsproj
@ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/testDaemon.fsproj
WARNING in C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
185:27-31 "export 'some' was not found in '../../../fable.core/1.3.1/fable-core/Util'
@ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
@ ./src/App.fs
@ ./src/testDaemon.fsproj
@ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/testDaemon.fsproj
WARNING in C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
188:27-31 "export 'some' was not found in '../../../fable.core/1.3.1/fable-core/Util'
@ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
@ ./src/App.fs
@ ./src/testDaemon.fsproj
@ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/testDaemon.fsproj
webpack: Compiled with warnings.
webpack: Compiling...
fable: Compiled src\Home\View.fs
Hash: 64fb89640a7e19c1f870
Version: webpack 3.8.1
Time: 2227ms
Asset Size Chunks Chunk Names
bundle.js 2 MB 0 [emitted] [big] main
0.b7f14501e6aa67373323.hot-update.js 1.77 kB 0 [emitted] main
b7f14501e6aa67373323.hot-update.json 43 bytes [emitted]
bundle.js.map 2.19 MB 0 [emitted] main
0.b7f14501e6aa67373323.hot-update.js.map 1.01 kB 0 [emitted] main
[./node_modules/webpack/hot ^\.\/log$] (webpack)/hot nonrecursive ^\.\/log$ 170 bytes {0} [built]
[./src/Home/View.fs] ./src/Home/View.fs 632 bytes {0} [built]
+ 390 hidden modules
WARNING in C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/prelude.fs
16:15-19 "export 'some' was not found in '../../../fable.core/1.3.1/fable-core/Util'
@ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/prelude.fs
@ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
@ ./src/App.fs
@ ./src/testDaemon.fsproj
@ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/testDaemon.fsproj
WARNING in C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
172:15-25 "export 'defaultArg' was not found in '../../../fable.core/1.3.1/fable-core/Util'
@ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
@ ./src/App.fs
@ ./src/testDaemon.fsproj
@ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/testDaemon.fsproj
WARNING in C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
185:27-31 "export 'some' was not found in '../../../fable.core/1.3.1/fable-core/Util'
@ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
@ ./src/App.fs
@ ./src/testDaemon.fsproj
@ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/testDaemon.fsproj
WARNING in C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
188:27-31 "export 'some' was not found in '../../../fable.core/1.3.1/fable-core/Util'
@ C:/Users/mange/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs
@ ./src/App.fs
@ ./src/testDaemon.fsproj
@ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/testDaemon.fsproj
webpack: Compiled with warnings.
Wichtiger Teil ist:
webpack: Compiling...
fable: Compiled src\Home\View.fs
Ich vermute die Warnung zu: export 'some' was not found in
die durch die neue Art von Fable verursacht wird, den Typ option
. @alfonsogarciacaro habe ich recht Wenn ja, sollte nur die Aktualisierung der Elmish Repos ausreichen, um sie verschwinden zu lassen.
Selbes Problem hier. Es dauert jetzt ewig, größere Projekte zu kompilieren.
Habe das gleiche wie
webpack: Compiled with warnings.
webpack: Compiling...
Parsing ./Home/View.fs...
Parsing ./App.fs...
fable: Compiled src\App.fs
Parsing ./Counter/View.fs...
Parsing ./Types.fs...
Parsing ./Info/View.fs...
Parsing ./Navbar/View.fs...
fable: Compiled src\Types.fs
fable: Compiled src\Counter\View.fs
fable: Compiled src\Info\View.fs
Parsing ../../../Users/rsachse/.nuget/packages/fable.elmish/1.0.0/fable/program.fs...
fable: Compiled src\Navbar\View.fs
Parsing ../../../Users/rsachse/.nuget/packages/fable.elmish.react/1.0.0/fable/react.fs...
Parsing ../../../Users/rsachse/.nuget/packages/fable.elmish.debugger/1.0.0/fable/debugger.fs...
fable: Compiled ..\..\Users\rsachse\.nuget\packages\fable.elmish.react\1.0.0\fable\react.fs
Parsing ../../../Users/rsachse/.nuget/packages/fable.elmish.browser/1.0.0/fable/navigation.fs...
fable: Compiled ..\..\Users\rsachse\.nuget\packages\fable.elmish\1.0.0\fable\program.fs
Parsing ../../../Users/rsachse/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs...
fable: Compiled ..\..\Users\rsachse\.nuget\packages\fable.elmish.debugger\1.0.0\fable\debugger.fs
Parsing ./State.fs...
fable: Compiled ..\..\Users\rsachse\.nuget\packages\fable.elmish.browser\1.0.0\fable\navigation.fs
Parsing ./Home/View.fs...
Parsing ../../../Users/rsachse/.nuget/packages/fable.elmish.react/1.0.0/fable/common.fs...
fable: Compiled src\State.fs
fable: Compiled src\Home\View.fs
fable: Compiled ..\..\Users\rsachse\.nuget\packages\fable.elmish.react\1.0.0\fable\common.fs
fable: Compiled ..\..\Users\rsachse\.nuget\packages\fable.elmish.browser\1.0.0\fable\parser.fs
wenn ich Home/View.fs ändere
yarn info fable-loader
gibt mir version: '1.1.4',
Was ist deine Dotnet-Version?
2.0.2 unter Windows
Habe es gerade auf meiner Linux-Box (mit dotnet 2.0.0) ausprobiert und da funktioniert es
Ich bin unter Windows mit 2.0.3.
Das fängt an verrückt zu werden Ich habe in den letzten Tagen viele verschiedene Verhaltensweisen zwischen 2.0.0, 2.0.1, 2.0.2, 2.0.3...
Kannst du es bitte mit 2.0.3 unter Windows versuchen?
Bearbeiten: Um zu überprüfen, ob dies mit der Dotnet-Version zusammenhängt ...
Upgrade auf 2.0.3 unter Windows 10 (1709)
Garn 1.3.2
Knoten 8.6.0/9.2.0
Immer noch die gleichen...
Zurück zu Hause, aktualisierte diese Maschine auch auf dotnet2.0.3 , immer noch das gleiche Verhalten
Hier gilt das gleiche. Gleiche Probleme mit dotnet 2.0.3
Dieses Problem sehe ich auch. Punktnetz 2.0.3
Als Referenz hier das Ergebnis, das ich unter Linux mit dotnet 2.0.3 bekomme:
webpack: Compiling...
Parsing ./Home/View.fs...
Parsing ./App.fs...
fable: Compiled src/App.fs
Parsing ./Home/View.fs...
fable: Compiled src/Home/View.fs
Es gibt etwas mehr Linie als zuvor unter Windows, aber das scheint in Ordnung zu sein.
Verwenden Sie irgendwo auf Ihrem System ein global.json
?
Verwenden Sie irgendwo auf Ihrem System eine global.json?
Jawohl
{
"sdk": {
"version": "2.0.3"
}
}
Verwenden Sie irgendwo auf Ihrem System eine global.json?
Nein
Ich verwende macOS mit dotnet SDK 2.0.0 und sehe das Problem nicht. Auch #1246 sagt, dass das Problem von 1.3.0 Beta bis 1.3.1 auftritt, aber ich habe den Code nicht angerührt zu erkennen . Argh!
Hmm, Fable 1.3 verwendet System.IO.File.GetLastWriteTime
, um schmutzige Dateien zu erkennen ( source ). Vielleicht führt dies je nach Netcore-Version / -Plattform zu unterschiedlichen Ergebnissen? @vasily-kirichenko @enricosada
@forki berichtet, dass Fable nicht mehr mit dotnet SDK 2.0.3 (unter Windows, schätze ich) funktioniert und dass es durch die Rückkehr zu 2.0.2 funktioniert hat.
@forki berichtet, dass Fable nicht mehr mit dotnet SDK 2.0.3 (unter Windows, schätze ich) funktioniert und dass es durch die Rückkehr zu 2.0.2 funktioniert hat.
Was meinst du mit "funktioniert nicht mehr"? Ich habe 2.0.3 und alles funktioniert (außer der Neukompilierungsoptimierung). Sollte ich auf 2.0.2 downgraden?
im Grunde auf einem Commit, der definitiv funktioniert hat, funktioniert es heute nicht mehr.
Hmm, Fable 1.3 verwendet System.IO.File.GetLastWriteTime, um schmutzige Dateien (Quelle) zu erkennen.
FCS hat vor kurzem überall auf UTC-Zeitstempel umgestellt, kann dies das Problem verursachen?
mhm bin mir nicht sicher, weil es durch den Wechsel der Dotnet-Versionen gelöst wurde
Aber ich gehe davon aus, dass ich das gleiche Problem in 2.0.2 irgendwann sehen werde. Ich denke, es ist nur ein "frischer" Cache von etwas
@alfonsogarciacaro könnten Sie die Anmeldung bei https://github.com/fable-compiler/Fable/blob/cda3ae8a97c538b783c961ccb7aa168d695b7b3c/src/dotnet/dotnet-fable/StateUtil.fs#L137 hinzufügen, wie "xxx.fs ist die letzte Schreibzeit" = xxxxx ist größer als Projektzeitstempel = xxxxx"? (Ich bin mir jedoch nicht sicher, ob ich verstehe, was project.TimeStamp
ist)
Ich kann in Windows reproduzieren (beide mit dotnet 2.0.0 und 2.0.3). Ich habe das Protokoll hinzugefügt, wie Sie @vasily-kirichenko vorgeschlagen haben, und in meinen lokalen Tests hat dies ergeben, dass das Problem nicht in dieser Zeile liegt, also muss es woanders liegen. Schaue gerade nach 👍
@alfonsogarciacaro großartig! Wir warten auf die Lösung, der Schmerz ist riesig :)
OK, hier sind meine Ergebnisse: Das Problem scheint zu sein, wie Webpack Abhängigkeiten auflöst. In dem von @SCullman gezeigten src/Home/View.fs
als Abhängigkeit von src App.fs
markiert . Jedes Mal, wenn View.fs aktualisiert wird, wird App.fs auch von Webpack neu kompiliert, um sicherzustellen, dass in der Laufzeit keine Fehler auftreten (was bei Inline-Funktionen, Änderungen der öffentlichen Methodennamen von View.fs usw. passieren kann).
Da es sich um die letzte Datei des Projekts handelt, hat App.fs offensichtlich viel mehr Abhängigkeiten. Und Webpack kompiliert sie alle neu, aber anscheinend nur unter Windows . Ich muss dies dem Webpack-Team melden, um zu sehen, was los ist.
Inzwischen habe ich fable-loader 1.1.5 veröffentlicht, damit Sie die Abhängigkeiten mit der Option extra.ignoreDependencies
deaktivieren können. Der Nachteil ist, dass Sie eine manuelle Änderung (wie das Hinzufügen eines Leerzeichens) in einer abhängigen Datei vornehmen müssen, wenn sie neu kompiliert werden muss, bis wir eine geeignete Lösung finden, aber zumindest sollte der Watcher viel schneller sein. Beispiel:
module: {
rules: [
{
test: /\.fs(x|proj)?$/,
use: {
loader: "fable-loader",
options: {
babel: babelOptions,
define: isProduction ? [] : ["DEBUG"],
extra: { ignoreDependencies: true }
}
}
},
@alfonsogarciacaro vielen Dank, ich bin zurück zu 2 Sekunden Feedback :)
Ich habe dotnet-fable 1.3.2 veröffentlicht, könnten Sie es bitte aktualisieren und ausprobieren? Diese Version sendet keine Abhängigkeiten an den JS-Client (Sie brauchen also nicht einmal die Option extra.ignoreDependencies
), aber der Daemon behält sie bei und kompiliert weiterhin abhängige Dateien bei der Watch-Kompilierung neu. Auf diese Weise wird der Fehler von Webpack gemeldet, wenn eine Änderung einen Fehler in einer anderen Datei verursacht.
Als Bonus sollte dies auch fable-splitter zugute kommen, da es für die Abhängigkeiten nicht vom Client abhängt (Wortspiel unbeabsichtigt) @forki
Übrigens, auch an @forki , 1.3.2 wurde mit dotnet SDK 2.0.3 unter Windows erstellt, vielleicht behebt das Ihr Problem? 🤔
Ich habe in einem größeren Projekt getestet und einige Änderungen an verschiedenen Dateien mit mehr oder weniger Abhängigkeiten vorgenommen.
Beeindruckende Arbeit. Dankeschön!
Funktioniert mit 2.0.3 auf einem Computer. Werde den anderen heute später checken
Am 24.11.2017 08:10 schrieb "Stefan Cullmann" [email protected] :
Ich habe in einem größeren Projekt getestet und einige Änderungen an verschiedenen Dateien vorgenommen
mit mehr oder weniger Abhängigkeiten.
Beeindruckende Arbeit. Dankeschön!—
Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/fable-compiler/Fable/issues/1241#issuecomment-346757401 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AADgNMohglCrLNRcXVtu0d_YfzfGc3dZks5s5mvSgaJpZM4Ql5zA
.
Ich bin mir nicht sicher, ob es bei mir ganz ok funktioniert.
Projektdatei:
<ItemGroup>
<Compile Include="Global.fs" />
<Compile Include="ElasticSearch\Common.fs" />
<Compile Include="EsScratchPad\View.fs" />
<Compile Include="Errors\Types.fs" />
<Compile Include="Errors\Es.fs" />
<Compile Include="Errors\State.fs" />
<Compile Include="Errors\View.fs" />
<Compile Include="Apps\Types.fs" />
<Compile Include="Apps\State.fs" />
<Compile Include="Apps\View.fs" />
<Compile Include="Types.fs" />
<Compile Include="State.fs" />
<Compile Include="App.fs" />
</ItemGroup>
Nachdem ich Apps\View.fs
geändert habe, erhalte ich diese Ausgabe:
webpack: Compiling...
Parsing ./Apps/View.fs...
Parsing ./App.fs...
fable: Compiled src\App.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Components/Navbar.fs...
Parsing ./EsScratchPad/View.fs...
Parsing ./Types.fs...
Parsing ./Errors/View.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fable.elmish/1.0.0/fable/program.fs...
fable: Compiled src\Types.fs
Parsing C:/Users/kirichenko/.nuget/packages/fable.elmish.debugger/1.0.0/fable/debugger.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fable.elmish.react/1.0.0/fable/react.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fable.elmish.browser/1.0.0/fable/navigation.fs...
fable: Compiled src\EsScratchPad\View.fs
Parsing C:/Users/kirichenko/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs...
Parsing ./State.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fable.elmish\1.0.0\fable\program.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fable.elmish.react\1.0.0\fable\react.fs
Parsing ./Apps/View.fs...
Parsing ./ElasticSearch/Common.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Layouts/Section.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Components\Navbar.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Layouts/Columns.fs...
fable: Compiled src\State.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Layouts/Column.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fable.elmish.browser\1.0.0\fable\navigation.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Form.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fable.elmish.debugger\1.0.0\fable\debugger.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Button.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Common.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Layouts\Columns.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Extra/FontAwesome.fs...
fable: Compiled src\Errors\View.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Icon.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Notification.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Layouts\Section.fs
fable: Compiled src\ElasticSearch\Common.fs
Parsing C:/Users/kirichenko/.nuget/packages/fable.elmish.react/1.0.0/fable/common.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Common.fs
Parsing ./Apps/State.fs...
Parsing ./Errors/State.fs...
fable: Compiled src\Apps\View.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Components/Panel.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fable.elmish.react\1.0.0\fable\common.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Box.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Components/Message.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Table.fs...
Parsing ./Errors/Es.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Components/Pagination.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Extra\FontAwesome.fs
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Content.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fable.powerpack/1.3.1/fable/src/Fetch.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Components/Menu.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Layouts/Level.fs...
Parsing C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Tag.fs...
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Layouts\Column.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Elements\Notification.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Elements\Button.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Elements\Icon.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Layouts\Level.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Elements\Tag.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Components\Menu.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fable.powerpack\1.3.1\fable\src\Fetch.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Components\Pagination.fs
fable: Compiled src\Errors\Es.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Elements\Content.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Elements\Form.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Elements\Table.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Components\Message.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Components\Panel.fs
fable: Compiled src\Errors\State.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fulma\1.0.0-beta-005\fable\Elements\Box.fs
fable: Compiled src\Apps\State.fs
fable: Compiled C:\Users\kirichenko\.nuget\packages\fable.elmish.browser\1.0.0\fable\parser.fs
Hash: 3311826e924a74e32344
Version: webpack 3.8.1
Time: 3656ms
Asset Size Chunks Chunk Names
bundle.js 2.7 MB 0 [emitted] [big] main
0.42dbebdd1d8a29329817.hot-update.js 33.4 kB 0 [emitted] main
42dbebdd1d8a29329817.hot-update.json 43 bytes [emitted]
bundle.js.map 2.55 MB 0 [emitted] main
0.42dbebdd1d8a29329817.hot-update.js.map 9.24 kB 0 [emitted] main
[./C:/Users/kirichenko/.nuget/packages/fable.elmish.browser/1.0.0/fable/navigation.fs] C:/Users/kirichenko/.nuget/packages/fable.elmish.browser/1.0.0/fable/navigation.fs 4.73 kB {0} [built]
[./C:/Users/kirichenko/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs] C:/Users/kirichenko/.nuget/packages/fable.elmish.browser/1.0.0/fable/parser.fs 8.33 kB {0} [built]
[./C:/Users/kirichenko/.nuget/packages/fable.elmish.debugger/1.0.0/fable/debugger.fs] C:/Users/kirichenko/.nuget/packages/fable.elmish.debugger/1.0.0/fable/debugger.fs 8.99 kB {0} [built]
[./C:/Users/kirichenko/.nuget/packages/fable.elmish.react/1.0.0/fable/react.fs] C:/Users/kirichenko/.nuget/packages/fable.elmish.react/1.0.0/fable/react.fs 871 bytes {0} [built]
[./C:/Users/kirichenko/.nuget/packages/fable.elmish/1.0.0/fable/program.fs] C:/Users/kirichenko/.nuget/packages/fable.elmish/1.0.0/fable/program.fs 8.33 kB {0} [built]
[./C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Components/Navbar.fs] C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Components/Navbar.fs 24.2 kB {0} [built]
[./C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Components/Panel.fs] C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Components/Panel.fs 10.3 kB {0} [built]
[./C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Box.fs] C:/Users/kirichenko/.nuget/packages/fulma/1.0.0-beta-005/fable/Elements/Box.fs 787 bytes {0} [built]
[./node_modules/webpack/hot ^\.\/log$] (webpack)/hot nonrecursive ^\.\/log$ 170 bytes {0} [built]
[./src/App.fs] ./src/App.fs 6.51 kB {0} [built]
[./src/Apps/View.fs] ./src/Apps/View.fs 9.28 kB {0} [built]
[./src/Errors/View.fs] ./src/Errors/View.fs 15.5 kB {0} [built]
[./src/EsScratchPad/View.fs] ./src/EsScratchPad/View.fs 8.99 kB {0} [built]
[./src/State.fs] ./src/State.fs 3.04 kB {0} [built]
[./src/Types.fs] ./src/Types.fs 2.72 kB {0} [built]
+ 400 hidden modules
webpack: Compiled successfully.
3,6 Sekunden sind ziemlich gut (aber es ist länger als mit extra.ignoreDependencies
- 1,7 Sekunden).
@vasily-kirichenko Ich habe das gleiche zuerst. Nach der Neuinstallation von Paket deps von Grund auf ist jetzt alles in Ordnung.
Jetzt sind es 10 Sekunden... :(
@irium ah! paket install --force
?
Es hat nicht geholfen, gleichzeitig :(
@vasily-kirichenko Bitte stellen Sie sicher, dass Sie 1.3.2 in paket.lock haben und dotnet fable --version
ausführen. Löschen Sie obj
Bedarf den Ordner dotnet restore
.
Ist mein webpack.config.js
Ordnung?
var path = require("path");
var webpack = require("webpack");
var fableUtils = require("fable-utils");
function resolve(filePath) {
return path.join(__dirname, filePath)
}
var babelOptions = fableUtils.resolveBabelOptions({
presets: [["es2015", {"modules": false}]],
plugins: [["transform-runtime", {
"helpers": true,
// We don't need the polyfills as we're already calling
// cdn.polyfill.io/v2/polyfill.js in index.html
"polyfill": false,
"regenerator": false
}]]
});
var isProduction = process.argv.indexOf("-p") >= 0;
console.log("Bundling for " + (isProduction ? "production" : "development") + "...");
module.exports = {
devtool: "source-map",
entry: resolve('./src/EsExplorer.fsproj'),
output: {
filename: 'bundle.js',
path: resolve('./public'),
},
resolve: {
modules: [
"node_modules", resolve("./node_modules/")
]
},
devServer: {
contentBase: resolve('./public'),
port: 8080,
hot: true,
inline: true
},
module: {
rules: [
{
test: /\.fs(x|proj)?$/,
use: {
loader: "fable-loader",
options: {
babel: babelOptions,
define: isProduction ? [] : ["DEBUG"]
}
}
},
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: babelOptions
},
},
{
test: /\.sass$/,
use: [
"style-loader",
"css-loader",
"sass-loader"
]
}
]
},
plugins : isProduction ? [] : [
new webpack.HotModuleReplacementPlugin(),
new webpack.NamedModulesPlugin()
]
};
Sieht gut für mich aus.
Das Löschen von obj
und dotnet restore
löst das Problem - jetzt 1,5 Sekunden. Danke vielmals!
verdammt obj - Es ist gerade so ein Scheiß. immer das Thema
@forki ist es dotnet
Problem oder Paket oder ...?
Punkt net
Eine andere Frage: Kann ich alle prerelease
s aus packet.dependencies
entfernen?
Ja, außer Fulma, wenn Sie es verwenden :) @vasily-kirichenko
OK danke. Ich kann mir mein Leben ohne Fulma nicht vorstellen :)
Hilfreichster Kommentar
OK, hier sind meine Ergebnisse: Das Problem scheint zu sein, wie Webpack Abhängigkeiten auflöst. In dem von @SCullman gezeigten
src/Home/View.fs
als Abhängigkeit vonsrc App.fs
markiert . Jedes Mal, wenn View.fs aktualisiert wird, wird App.fs auch von Webpack neu kompiliert, um sicherzustellen, dass in der Laufzeit keine Fehler auftreten (was bei Inline-Funktionen, Änderungen der öffentlichen Methodennamen von View.fs usw. passieren kann).Da es sich um die letzte Datei des Projekts handelt, hat App.fs offensichtlich viel mehr Abhängigkeiten. Und Webpack kompiliert sie alle neu, aber anscheinend nur unter Windows . Ich muss dies dem Webpack-Team melden, um zu sehen, was los ist.
Inzwischen habe ich fable-loader 1.1.5 veröffentlicht, damit Sie die Abhängigkeiten mit der Option
extra.ignoreDependencies
deaktivieren können. Der Nachteil ist, dass Sie eine manuelle Änderung (wie das Hinzufügen eines Leerzeichens) in einer abhängigen Datei vornehmen müssen, wenn sie neu kompiliert werden muss, bis wir eine geeignete Lösung finden, aber zumindest sollte der Watcher viel schneller sein. Beispiel: