iT邦幫忙

1

Visual Studio 2017 無法在script標籤內使用import

  • 分享至 

  • xImage

想請問一下各位,使用yarn下載程式碼,然後使用Visual Studio webform去使用import,如下圖:https://ithelp.ithome.com.tw/upload/images/20191128/20118321ngvdMTLTP2.jpg

<script type="module">
    import Vue from '/node_modules/vue'
    import { Datetime } from '/node_modules/vue-datetime'
    // You need a specific loader for CSS files
    import '/node_modules/vue-datetime/dist/vue-datetime.css'

    Vue.use(Datetime)
</script>

卻發生以下錯誤:
https://ithelp.ithome.com.tw/upload/images/20191128/201183213uBjqjMCfp.jpg
爬文之後的結果,說有可能是沒權限讀取檔案,但是我有直接Key該資料夾內的JS檔案,是可以開啟的,想請問我哪邊做錯或者漏掉的,謝謝各位的協助!

======================分隔線=======================
補充一下
一開始就是都沒有加路徑,並且三個檔案都在那資料夾下但是會有以下錯誤,說找不到該檔案
https://ithelp.ithome.com.tw/upload/images/20191128/20118321uGY8sBt9kR.jpg
======================分隔線=======================
回答上限到了...我回在這邊
上面我有提到,使用import他抓不到檔案,不知道是啥原因

dragonH
請問提供的方式,是使用Web Form且import成功嗎?

listennn08
感謝提供,我會嘗試看看的,有問題就需要再麻煩大大了T_T

小魚
我目前是使用Web Form,只不過以前從沒使用過import看起來好像很多新東西都需要模組,而比較少CDN可以使用,或者從CDN載下來之後缺圖檔導致SRC一定要使用網址,而需求卻都一定要把所有資料放在主機上。
Vue專案還沒寫過,要先學習一下再來嘗試/images/emoticon/emoticon06.gif
======================分隔線=======================
總結一下:
最後我的作法是這樣的

<link href="node_modules/vue2-datepicker/index.css" rel="stylesheet" />
<script src="Scripts/vue_2.6.10.js"></script>
<script src="node_modules/vue2-datepicker/index.js"></script>
<div id="app">
    <date-picker type="date" v-model="date"></date-picker>
    <date-picker type="time" v-model="time"></date-picker>
</div>
<script>
    var vm = new Vue({
        el: '#app',
        data: {
            date: '',
            time: '',
        },
    })
</script>

最後感謝各位大大的熱心協助!/images/emoticon/emoticon42.gif

看更多先前的討論...收起先前的討論...
我覺得是 css 的關係
錯誤碼寫了 非javascript
jack8900 iT邦新手 1 級 ‧ 2019-11-28 15:44:20 檢舉
那三個錯誤剛好對應三個import的內容,如果把CSS註解掉,另外兩個錯誤還是存在
另外兩個如果是 node_module 直接引用就好了不用路徑
import Vue from 'vue'
import { Datetime } from 'vue-datetime'
jack8900 iT邦新手 1 級 ‧ 2019-11-28 16:16:59 檢舉
一開始有嘗試,但是會回報上面我補充的錯誤
你的應用程式看起來不是用 vue 應用程式建的
https://docs.microsoft.com/zh-tw/visualstudio/javascript/quickstart-vuejs-with-nodejs?view=vs-2019
jack8900 iT邦新手 1 級 ‧ 2019-11-28 16:29:59 檢舉
恩...開頭有說明是webform,所以不能這樣使用?
YoChen iT邦研究生 1 級 ‧ 2019-11-28 16:38:31 檢舉
也不能說不行,但畢竟Web Form已經將前後端綁在一起了,如果您要再套Vue上去的話,我不知道會怎麼樣~XDDD
YoChen iT邦研究生 1 級 ‧ 2019-11-28 16:41:30 檢舉
您或許可以考慮前後端分離,前端用Vue框架,後端可以用.NET建Web Service或Web API
jack8900 iT邦新手 1 級 ‧ 2019-11-28 16:46:16 檢舉
所以 並不能使用這樣的引用方式,直接開網頁,需要包裝並發行之後,才能使用?
Web Form只能乖乖找包裝好的JS一一引用?
jack8900 iT邦新手 1 級 ‧ 2019-11-28 16:47:25 檢舉
一開始的想法是,他就像普通的JS可以引用之後,在script標籤內呼叫就可在網頁上顯示,現在看起來應該是不能?
哎呀 我沒看清楚
http://studyhost.blogspot.com/2016/12/aspnet-web-3-aspnet-webformsspa.html
這裡有一個webform + vuejs 用法

你的想法也可以
就是引用 cdn 的就可以了
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue-datetime@1.0.0-beta.11/dist/vue-datetime.min.js"></script>
jack8900 iT邦新手 1 級 ‧ 2019-11-28 17:09:38 檢舉
恩恩,Vuejs我會套,所以我該這樣使用?
```
<div id="app">
<datetime v-model="Datetime"></datetime>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
Datetime:'',
}
})
</script>
```
jack8900 iT邦新手 1 級 ‧ 2019-11-28 17:12:27 檢舉
只不過套不上去,應該需要別的方式去寫....
jack8900 iT邦新手 1 級 ‧ 2019-11-28 17:30:09 檢舉
我在自己找看看,感謝幫忙!
YoChen iT邦研究生 1 級 ‧ 2019-11-28 17:56:23 檢舉
您可以先用listennn08大提供的cdn試試看能不能render,後續再來考慮import module的問題,不過我還是不建議在Web Form上面做就是了~XDDD
jack8900 iT邦新手 1 級 ‧ 2019-11-28 19:59:43 檢舉
感謝listennn08大提供的CDN,只不過在他的GITHUB還沒找到在網頁上使用的方式
他看起來是沒有提供直接引用的方式
可以參考下面
dragonH iT邦超人 5 級 ‧ 2019-11-29 00:23:26 檢舉
>請問提供的方式,是使用Web Form且import成功嗎?

是阿

看附圖應該看的出來
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
6
dragonH
iT邦超人 5 級 ‧ 2019-11-28 18:34:38
最佳解答

code

<script type="module">
  import "./node_modules/vue/dist/vue.min.js";
  const vue = new Vue({
    el: '#app',
    data() {
      return {
        msg: 'hello ithelp!',
      };
    }
  });
</script>
<div id = "app">
  <h1>{{ msg }}</h1>
</div>

result

image

我不知道這樣在 .net 是否是正確操作

我不熟 .net

不過這樣是可以用的

選我正解/images/emoticon/emoticon48.gif

看更多先前的回應...收起先前的回應...

酸阿

jack8900 iT邦新手 1 級 ‧ 2019-11-28 19:58:34 檢舉

Vue是那樣用沒有錯0.0...
只不過,要找可以呼叫出vue-datetime.min.js的語法

dragonH iT邦超人 5 級 ‧ 2019-11-28 21:03:37 檢舉

jack8900

不然就改用 vue2-datepicker

我自己也是比較常用這個

你要的 date datetime 都有

image

/images/emoticon/emoticon32.gif

jack8900 iT邦新手 1 級 ‧ 2019-11-29 08:55:19 檢舉

感謝大大,終於成功了/images/emoticon/emoticon07.gif

dragonH iT邦超人 5 級 ‧ 2019-11-29 10:24:51 檢舉

/images/emoticon/emoticon42.gif

2
listennn08
iT邦高手 5 級 ‧ 2019-11-28 20:08:42

Codepen
找到另外一個套件給你參考
或另一個套件 vue bootstrap datetime picker
不過功能應該沒有 vue-datetime 那麼強大

jack8900 iT邦新手 1 級 ‧ 2019-11-29 09:02:17 檢舉

感謝大大的分享/images/emoticon/emoticon41.gif

0
小魚
iT邦大師 1 級 ‧ 2019-11-28 22:25:26

不好意思,
印象中在MVC裡面不能使用import,
也不能使用component.
你乾脆另外寫一個vue專案,
然後使用前後端分離的方式透過API抓資料.

我要發表回答

立即登入回答