dotnet fable yarn-start
analisa e compila a fonte inteira em cada mudança em um arquivo fonte
Pegue qualquer projeto de fábula e comece o início do fio da fábula dotnet.
Modifique um arquivo e salve.
Esperado: apenas o arquivo alterado (e talvez os arquivos dependentes) são recompilados.
Real: tudo é compilado novamente.
dotnet fable --version
): 1.3.0, 1.3.1Olá @SCullman! Desculpe, não posso reproduzir isso, no meu caso apenas os arquivos editados e dependentes estão sendo recompilados. Você tem um repositório ou um projeto compactado para testar isso?
@alfonsogarciacaro Strange, assim como outros relataram o mesmo problema no gitter esta manhã. Vou verificar se consigo reproduzi-lo com um projeto de amostra.
Passos para reproduzir:
dotnet new fable-elmish-react
.paket\paket update
yarn
cd src
dotnet restore
dotnet fable yarn-start
e então, quando eu apenas toco home / view.fs:
Muito obrigado pelas etapas de reprodução, @SCullman : +1: Você também precisa atualizar o fable-loader, pode adicionar yarn upgrade fable-loader
(ou apenas yarn upgrade
para atualizar todos os pacotes npm) às etapas acima e tente novamente?
Nova tentativa em outro computador:
dotnet new fable-elmish-react
.paket\paket update
yarn install
yarn upgrade
cd src
dotnet restore
dotnet fable yarn-start
Mesmos resultados.
Eu vejo o mesmo problema.
Estranho, não consigo reproduzir ... 😕 Alguém mais com esse problema? @MangelMaxime @forki
Não consigo reproduzir nenhum dos dois, segui os passos do @SCullman e editei o arquivo Home\View.fs
.
Eu consegui este resultado:
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.
A parte importante é:
webpack: Compiling...
fable: Compiled src\Home\View.fs
Suspeito do aviso, sobre: export 'some' was not found in
causado pela nova forma do Fable de lidar com o tipo option
. @alfonsogarciacaro estou certo Se sim, apenas atualizar os repositórios elmish deve ser suficiente para fazê-los desaparecer.
Mesmo problema aqui. Agora leva muito tempo para compilar projetos maiores.
Tentei o mesmo que @SCullman acima e obtenha
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
quando eu mudo Home / View.fs
yarn info fable-loader
me dá version: '1.1.4',
Qual é a sua versão dotnet?
2.0.2 no windows
Apenas tentei na minha máquina linux (com dotnet 2.0.0) e lá funciona
Estou no Windows com 2.0.3.
Isso está começando a ficar louco. Eu tenho muitos comportamentos diferentes entre 2.0.0, 2.0.1, 2.0.2, 2.0.3 nos últimos dias ...
Você pode tentar com 2.0.3 no Windows?
Editar: Para verificar se isso está relacionado à versão dotnet ...
Atualizado para 2.0.3 no Windows 10 (1709)
fio 1.3.2
nó 8.6.0 / 9.2.0
Ainda o mesmo...
De volta a casa, atualizei essa máquina também para dotnet2.0.3, ainda com o mesmo comportamento
Mesmo aqui. Mesmos problemas com dotnet 2.0.3
Eu também vejo esse problema. dotnet 2.0.3
Para referências, aqui está o resultado que obtenho no Linux com dotnet 2.0.3:
webpack: Compiling...
Parsing ./Home/View.fs...
Parsing ./App.fs...
fable: Compiled src/App.fs
Parsing ./Home/View.fs...
fable: Compiled src/Home/View.fs
Há um pouco mais de linha do que antes sob o Windows, mas isso parece ok.
Vocês usam um global.json
em algum lugar do seu sistema?
Vocês usam um global.json em algum lugar do seu sistema?
sim
{
"sdk": {
"version": "2.0.3"
}
}
Vocês usam um global.json em algum lugar do seu sistema?
Não
Estou no macOS com dotnet SDK 2.0.0 e não vejo o problema. Também # 1246 diz que o problema acontece de 1.3.0 beta a 1.3.1, mas eu não toquei no código para detectar arquivos sujos entre essas versões. Argh!
Hmm, Fable 1.3 usa System.IO.File.GetLastWriteTime
para detectar arquivos sujos ( fonte ). Talvez isso dê resultados diferentes dependendo da versão / plataforma do netcore? @ vasily-kirichenko @enricosada
@forki está relatando que Fable parou de funcionar com dotnet SDK 2.0.3 (no Windows, eu acho) e reverter para 2.0.2 fez com que funcionasse.
@forki está relatando que Fable parou de funcionar com dotnet SDK 2.0.3 (no Windows, eu acho) e reverter para 2.0.2 fez com que funcionasse.
O que você quer dizer com "parou de funcionar"? Tenho 2.0.3 e tudo funciona (exceto a otimização de recompilação). Devo fazer o downgrade para 2.0.2?
basicamente em um commit que definitivamente funcionava, parou de funcionar hoje.
Hmm, Fable 1.3 usa System.IO.File.GetLastWriteTime para detectar arquivos sujos (fonte).
O FCS mudou para carimbos de data / hora UTC em todos os lugares recentemente, isso pode causar o problema?
mhm não tenho certeza, porque mudar as versões do dotnet resolveu
Mas presumo que verei o mesmo problema no 2.0.2 eventualmente. Eu acho que é apenas um cache "novo" de algo
@alfonsogarciacaro você poderia adicionar o login em https://github.com/fable-compiler/Fable/blob/cda3ae8a97c538b783c961ccb7aa168d695b7b3c/src/dotnet/dotnet-fable/StateUtil.filings#L137 como "xxxfiling = xxxxx é maior que o carimbo de hora do projeto = xxxxx "? (no entanto, não tenho certeza se entendi o que project.TimeStamp
é)
Posso reproduzir no Windows (ambos com dotnet 2.0.0 e 2.0.3). Eu adicionei o log como você sugeriu @ vasily-kirichenko e em meus testes locais isso revelou que o problema não está nessa linha, então deve estar em outro lugar. Verificando agora 👍
@alfonsogarciacaro ótimo! Estamos esperando a correção, a dor é enorme :)
OK, aqui estão minhas descobertas: o problema parece ser como o Webpack está resolvendo dependências. No simples mostrado por @SCullman antes de src/Home/View.fs
é marcado como uma dependência de src App.fs
. Portanto, toda vez que View.fs é atualizado, App.fs também é recompilado pelo Webpack para garantir que não haja erros no tempo de execução (o que pode acontecer com funções embutidas, mudanças nos nomes de métodos públicos de View.fs, etc).
Como é o último arquivo do projeto, obviamente App.fs possui muito mais dependências. E o Webpack está recompilando todos eles, mas aparentemente apenas no Windows . Tenho que relatar isso para a equipe do Webpack para ver o que está acontecendo.
Enquanto isso, publiquei o fable-loader 1.1.5 para que você possa cancelar as dependências usando a opção extra.ignoreDependencies
. A desvantagem é que você terá que fazer uma alteração manual (como adicionar um espaço) em um arquivo dependente se ele precisar de recompilação até que possamos encontrar uma solução adequada, mas pelo menos o observador deve ser muito mais rápido. Exemplo:
module: {
rules: [
{
test: /\.fs(x|proj)?$/,
use: {
loader: "fable-loader",
options: {
babel: babelOptions,
define: isProduction ? [] : ["DEBUG"],
extra: { ignoreDependencies: true }
}
}
},
@alfonsogarciacaro muito obrigado, estou de volta ao feedback de 2 segundos :)
Publiquei dotnet-fable 1.3.2. Você poderia atualizá-lo e experimentá-lo? Esta versão não envia dependências para o cliente JS (então você nem precisa da opção extra.ignoreDependencies
), mas o daemon irá mantê-las e ainda recompilará os arquivos dependentes na compilação do relógio. Dessa forma, se uma alteração estiver causando um erro em outro arquivo, o erro será relatado pelo Webpack.
Como um bônus, isso também deve beneficiar o divisor de fábulas, já que não depende do cliente para as dependências (trocadilho não intencional) @forki
BTW, também para @forki , 1.3.2 foi construído com dotnet SDK 2.0.3 no Windows, talvez isso resolva o seu problema? 🤔
Eu testei em um projeto maior e fiz algumas alterações em arquivos diferentes com mais ou menos dependências.
Trabalho incrível. Obrigado!
Funciona com 2.0.3 em uma máquina. Vou verificar o outro mais tarde hoje
Am 24.11.2017 08:10 schrieb "Stefan Cullmann" [email protected] :
Eu testei em um projeto maior e fiz algumas alterações em arquivos diferentes
com mais ou menos dependências.
Trabalho incrível. Obrigado!-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/fable-compiler/Fable/issues/1241#issuecomment-346757401 ,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AADgNMohglCrLNRcXVtu0d_YfzfGc3dZks5s5mvSgaJpZM4Ql5zA
.
Não tenho certeza se funciona completamente bem para mim.
Arquivo de projeto:
<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>
Depois de alterar Apps\View.fs
, obtenho esta saída:
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 segundos é muito bom (mas é mais longo do que era com extra.ignoreDependencies
- 1,7 segundos).
@vassily-kirichenko Eu tenho o mesmo no começo. Depois de reinstalar o Paket deps do zero, tudo está ok agora.
Agora são 10 segundos ... :(
@irium ah! paket install --force
?
Não ajudou, ao mesmo tempo :(
@ vasily-kirichenko Por favor, certifique-se de ter 1.3.2 em paket.lock e ao executar dotnet fable --version
. Se necessário, exclua a pasta obj
antes de executar dotnet restore
.
Meu webpack.config.js
OK?
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()
]
};
Parece bom para mim.
Excluir obj
e dotnet restore
resolve o problema - 1,5 segundo agora. Muito obrigado!
maldito obj - É uma merda agora. sempre o problema
@forki é dotnet
problema ou pacote ou ...?
ponto Net
Outra pergunta: posso remover todos os prerelease
s de packet.dependencies
?
Sim, exceto para Fulma, se você usá-lo :) @ vasily-kirichenko
OK, obrigado. Não consigo imaginar minha vida sem Fulma :)
Comentários muito úteis
OK, aqui estão minhas descobertas: o problema parece ser como o Webpack está resolvendo dependências. No simples mostrado por @SCullman antes de
src/Home/View.fs
é marcado como uma dependência desrc App.fs
. Portanto, toda vez que View.fs é atualizado, App.fs também é recompilado pelo Webpack para garantir que não haja erros no tempo de execução (o que pode acontecer com funções embutidas, mudanças nos nomes de métodos públicos de View.fs, etc).Como é o último arquivo do projeto, obviamente App.fs possui muito mais dependências. E o Webpack está recompilando todos eles, mas aparentemente apenas no Windows . Tenho que relatar isso para a equipe do Webpack para ver o que está acontecendo.
Enquanto isso, publiquei o fable-loader 1.1.5 para que você possa cancelar as dependências usando a opção
extra.ignoreDependencies
. A desvantagem é que você terá que fazer uma alteração manual (como adicionar um espaço) em um arquivo dependente se ele precisar de recompilação até que possamos encontrar uma solução adequada, mas pelo menos o observador deve ser muito mais rápido. Exemplo: