iT邦幫忙

0

C# .Net Core 如何把node_modules整理到wwwroot底下 和 async/await使用问题

Ks 2019-01-08 11:41:402048 瀏覽
  1. 我使用package.json安裝好需要的插件之後,請問該如何搬到wwwroot底下?
  2. 之前有看到一些專案,在api的部分使用很多async await,請問該怎麼使用比較合適?

【已解決】

  1. 使用Yarn和Webpack來進行包裝與編譯,最終output到wwwroot底下
為什麼要搬到wwwroot...
Development環境的話請善用startup.cs內的
if (env.IsDevelopment())
{
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(
Path.Combine(env.ContentRootPath, "node_modules")),
RequestPath = "/" + "node_modules"
});
}
然後在view加上類似下面這樣就好了
<environment include="Development">
<script src="~/node_modules/jquery/dist/jquery.min.js"></script>
<script src="~/node_modules/popper.js/dist/umd/popper.min.js"></script>
<script src="~/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
</environment>
沒在用Razor的話,Production環境請全部bundle到一個js內
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

2
Homura
iT邦高手 1 級 ‧ 2019-01-08 15:15:00

我使用package.json安裝好需要的插件之後,請問該如何搬到wwwroot底下?

這要自己拉過去wwwroot
不然可以改用使用微軟新的套件管理工具Libman

之前有看到一些專案,在api的部分使用很多async await,請問該怎麼使用比較合適?

可以在一些處理比較慢的Method使用,或是使用率非常高的Method

Ks iT邦新手 3 級 ‧ 2019-01-09 10:05:24 檢舉

感謝回覆,會再研究看看新套件管理工具的部分,希望可以做到package下載之後就自動搬到wwwroot的部分。

Homura iT邦高手 1 級 ‧ 2019-01-09 10:10:03 檢舉

ksg
可以唷!
不然不會推薦用這個

3
froce
iT邦大師 1 級 ‧ 2019-01-08 20:29:15

async await這點

應該說有些函式,你不需要一定要等待他處理完。
這樣函式前面加上 async 表示cpu不會一定要把這函式處理完,可以先跳到下一個函式去做別的事。

await則是在async函式中,有時候會遇到調用其他async函式,又需要他的結果的時候,所以要告訴cpu,我要等這個運算算完,你才可以跑下一個地方。

用js舉例。
https://jsbin.com/detapof/edit?html,console
在console裡,你可以看到,a 不是1,而是一個promise物件(其他程式語言應該會是coroutine物件),代表其值尚未取出完成,但經過await的 b 就會是1了。

Ks iT邦新手 3 級 ‧ 2019-01-09 10:02:16 檢舉

感謝回覆,很棒的解答。謝謝/images/emoticon/emoticon07.gif

我要發表回答

立即登入回答