Tworzenie aplikacji Vue.js przy użyciu narzędzi Node.js Tools for Visual Studio
Program Visual Studio obsługuje tworzenie aplikacji za pomocą platformy Vue.js w języku JavaScript lub TypeScript.
Następujące nowe funkcje obsługują tworzenie aplikacji Vue.js w programie Visual Studio:
- Obsługa bloków Skrypt, Styl i Szablon w plikach .vue
- Rozpoznawanie atrybutu
lang
w plikach .vue - Vue.js szablony projektów i plików
Warunki wstępne
Musisz mieć zainstalowany program Visual Studio 2017 w wersji 15.8 lub nowszej oraz pakiet rozwoju Node.js.
Ważny
Ten artykuł wymaga funkcji, które są dostępne tylko w programie Visual Studio 2017 w wersji 15.8.
Jeśli wymagana wersja nie jest jeszcze zainstalowana, zainstaluj program Visual Studio 2019.
Jeśli musisz zainstalować obciążenie, ale masz już program Visual Studio, przejdź do Tools>Pobierz narzędzia i funkcje..., co spowoduje otwarcie Instalatora programu Visual Studio. Wybierz obciążenie programowaniaNode.js, a następnie wybierz pozycję Modyfikuj.
Aby utworzyć projekt platformy ASP.NET Core, musisz mieć zainstalowane obciążenia tworzenia aplikacji ASP.NET i tworzenia aplikacji internetowych oraz aplikacji dla wielu platform .NET Core.
Musisz mieć zainstalowane środowisko uruchomieniowe Node.js.
Jeśli nie masz zainstalowanej wersji, zainstaluj wersję LTS z witryny internetowej Node.js. Ogólnie rzecz biorąc, program Visual Studio automatycznie wykrywa zainstalowane środowisko uruchomieniowe Node.js. Jeśli nie wykryje zainstalowanego środowiska uruchomieniowego, możesz skonfigurować projekt tak, aby odwołył się do zainstalowanego środowiska uruchomieniowego na stronie właściwości. (Po utworzeniu projektu kliknij prawym przyciskiem myszy węzeł projektu i wybierz pozycję Właściwości).
Tworzenie projektu Vue.js przy użyciu Node.js
Do utworzenia nowego projektu można użyć nowych szablonów Vue.js. Użycie szablonu jest najprostszym sposobem rozpoczęcia pracy. Aby uzyskać szczegółowe instrukcje, zobacz Tworzenie pierwszej aplikacji Vue.jsprzy użyciu programu Visual Studio.
Tworzenie projektu Vue.js przy użyciu platformy ASP.NET Core i interfejsu wiersza polecenia programu Vue
Vue.js udostępnia oficjalne CLI (interfejs wiersza polecenia) do szybkiego tworzenia projektów szkieletowych. Jeśli chcesz użyć interfejsu wiersza polecenia do utworzenia aplikacji, wykonaj kroki opisane w tym artykule, aby skonfigurować środowisko deweloperskie.
Ważny
W tych krokach założono, że masz już pewne doświadczenie z platformą Vue.js. Jeśli nie, odwiedź Vue.js, aby dowiedzieć się więcej o strukturze.
Tworzenie nowego projektu ASP.NET Core
W tym przykładzie użyjesz pustej aplikacji ASP.NET Core (C#). Można jednak wybrać spośród różnych projektów i języków programowania.
Tworzenie pustego projektu
Otwórz program Visual Studio i utwórz nowy projekt.
W programie Visual Studio 2019 wybierz pozycję Utwórz nowy projekt w oknie uruchamiania. Jeśli okno startowe nie jest otwarte, wybierz pozycję Plik>Okno startowe. Wpisz aplikację internetową, wybierz C# jako język, a następnie wybierz ASP.NET Core Empty, a następnie wybierz Next. Na następnym ekranie nadaj projektowi nazwę client-app, a następnie wybierz opcję Dalej.
Wybierz zalecaną platformę docelową lub platformę .NET 6, a następnie wybierz Utwórz.
Jeśli nie widzisz szablonu projektu aplikacji internetowej ASP.NET Core, musisz zainstalować obciążenie ASP.NET i tworzenie aplikacji internetowych oraz . najpierwobciążenia programistycznego platformy NET Core. Aby zainstalować komponenty, kliknij link Otwórz Instalator programu Visual Studio w lewym okienku okna dialogowego Nowy projekt (wybierz pozycję Plik >Nowy>Projekt). Zostanie uruchomiony Instalator programu Visual Studio. Wybierz wymagane obciążenia.
Konfigurowanie pliku uruchamiania projektu
Otwórz plik ./Startup.csi dodaj następujące wiersze do metody Configure:
app.UseDefaultFiles(); // Enables default file mapping on the web root. app.UseStaticFiles(); // Marks files on the web root as servable.
Instalacja Vue CLI
Aby zainstalować moduł npm vue-cli, otwórz wiersz polecenia i wpisz npm install --g vue-cli
lub npm install -g @vue/cli
dla wersji 3.0 (obecnie w wersji beta).
Tworzenie szkieletu nowej aplikacji klienckiej przy użyciu interfejsu wiersza polecenia programu Vue
Przejdź do wiersza polecenia i zmień bieżący katalog na folder główny projektu.
Wpisz
vue init webpack client-app
i postępuj zgodnie z krokami, gdy pojawi się prośba o odpowiedź na dodatkowe pytania.Notatka
W przypadku plików .vue należy użyć narzędzia webpack lub podobnego frameworku z modułem ładującym w celu przeprowadzenia konwersji. TypeScript i Visual Studio nie wiedzą, jak skompilować pliki .vue. To samo dotyczy tworzenia pakietów; Język TypeScript nie wie, jak przekonwertować moduły ES2015 (czyli instrukcje
import
iexport
) na jeden ostatni plik .js do załadowania w przeglądarce. Ponownie pakiet webpack jest najlepszym wyborem tutaj. Aby przeprowadzić ten proces z poziomu programu Visual Studio przy użyciu programu MSBuild, należy rozpocząć od szablonu programu Visual Studio. Obecnie nie ma domyślnego szablonu ASP.NET do tworzenia Vue.js.
Modyfikowanie konfiguracji pakietu webpack w celu wyprowadzania skompilowanych plików do katalogu wwwroot
Otwórz plik ./client-app/config/index.jsi zmień
build.index
ibuild.assetsRoot
na ścieżkę wwwroot:// Template for index.html index: path.resolve(__dirname, '../../wwwroot/index.html'), // Paths assetsRoot: path.resolve(__dirname, '../../wwwroot'),
Wskaż projekt do skompilowania aplikacji klienckiej za każdym razem, gdy budowa zostanie uruchomiona.
W programie Visual Studio przejdź do Project >właściwości>Build Events.
W wierszu polecenia zdarzenia przed kompilacją , wpisz
npm --prefix ./client-app run build
.
Konfigurowanie nazw modułów wyjściowych pakietu webpack
Otwórz plik ./client-app/build/webpack.base.conf.jsi dodaj następujące właściwości do właściwości wyjściowej:
devtoolModuleFilenameTemplate: '[absolute-resource-path]', devtoolFallbackModuleFilenameTemplate: '[absolute-resource-path]?[hash]'
Dodawanie obsługi języka TypeScript za pomocą interfejsu wiersza polecenia programu Vue
Te kroki wymagają interfejsu vue-cli 3.0, który jest obecnie w wersji beta.
Przejdź do wiersza polecenia i zmień bieżący katalog na folder główny projektu.
Wpisz
vue create client-app
, a następnie wybierz Ręcznie wybierz funkcje.Wybierz TypeScript, a następnie wybierz inne żądane opcje.
Postępuj zgodnie z pozostałymi krokami i odpowiadaj na pytania.
Konfigurowanie projektu Vue.js dla języka TypeScript
Otwórz plik ./client-app/tsconfig.json i dodaj
noEmit:true
do opcji kompilatora.Ustawiając tę opcję, należy unikać zaśmiecania projektu za każdym razem, gdy kompilujesz w programie Visual Studio.
Następnie utwórz plik vue.config.js w ./client-app/ i dodaj następujący kod.
module.exports = { outputDir: '../wwwroot', configureWebpack: { output: { devtoolModuleFilenameTemplate: '[absolute-resource-path]', devtoolFallbackModuleFilenameTemplate: '[absolute-resource-path]?[hash]' } } };
Powyższy kod konfiguruje pakiet webpack i ustawia folder wwwroot.
Tworzenie za pomocą vue-cli 3.0
Nieznany problem z interfejsem vue-cli 3.0 może uniemożliwić automatyzację procesu kompilacji. Za każdym razem, gdy próbujesz odświeżyć folder wwwroot, musisz uruchomić polecenie npm run build
w folderze client-app.
Alternatywnie możesz skompilować projekt vue-cli 3.0 jako zdarzenie przed kompilacją przy użyciu właściwości projektu ASP.NET. Kliknij prawym przyciskiem myszy projekt, wybierz pozycję właściwościi włącz następujące polecenia na karcie kompilacji, w polu tekstowym wiersz polecenia zdarzeń przed kompilacją.
cd ./client-app
npm run build
cd ../
Ograniczenia
atrybut
lang
obsługuje tylko języki JavaScript i TypeScript. Akceptowane wartości to: js, jsx, ts i tsx.lang
atrybut nie działa z tagami szablonu ani stylu.Debugowanie bloków skryptów w plikach .vue nie jest obsługiwane ze względu na ich wstępnie przetworzony charakter.
Język TypeScript nie rozpoznaje plików .vue jako modułów. Potrzebny jest plik, który zawiera kod, taki jak poniżej, aby poinformować TypeScript, jak wyglądają pliki .vue (szablon vue-cli 3.0 zawiera już ten plik).
// ./client-app/vue-shims.d.ts declare module "*.vue" { import Vue from "vue"; export default Vue; }
Uruchomienie polecenia
npm run build
jako zdarzenia przed kompilacją we właściwościach projektu nie działa w przypadku korzystania z interfejsu vue-cli 3.0.