Vytvoření aplikace Vue.js pomocí nástrojů Node.js pro Visual Studio
Visual Studio podporuje vývoj aplikací s architekturou Vue.js v JavaScriptu nebo TypeScriptu.
Následující nové funkce podporují vývoj aplikací Vue.js v sadě Visual Studio:
- Podpora bloků skriptů, stylů a šablon v souborech .vue
- Rozpoznávání atributu
lang
u souborů .vue - Vue.js šablony projektů a souborů
Požadavky
Musíte mít nainstalovanou sadu Visual Studio 2017 verze 15.8 nebo novější a sadu funkcí Node.js vývoj.
Důležitý
Tento článek vyžaduje funkce, které jsou dostupné jenom od sady Visual Studio 2017 verze 15.8.
Pokud ještě není nainstalovaná požadovaná verze, nainstalujte visual Studio 2019.
Pokud potřebujete nainstalovat úlohu, ale sadu Visual Studio už máte, přejděte na Tools>Získat nástroje a funkce..., čímž se otevře instalační program sady Visual Studio. Zvolte Node.js úlohy vývoje a pak zvolte Upravit.
Pokud chcete vytvořit projekt ASP.NET Core, musíte mít nainstalované úlohy vývoje pro ASP.NET a web a .NET Core pro různé platformy.
Musíte mít nainstalovaný modul runtime Node.js.
Pokud ji nemáte nainstalovanou, nainstalujte verzi LTS z webu Node.js. Obecně platí, že Visual Studio automaticky detekuje nainstalovaný modul runtime Node.js. Pokud nedetekuje nainstalovaný modul runtime, můžete projekt nakonfigurovat tak, aby odkazoval na nainstalovaný modul runtime na stránce vlastností. (Po vytvoření projektu klikněte pravým tlačítkem myši na uzel projektu a zvolte Vlastnosti).
Vytvoření projektu Vue.js pomocí Node.js
Nové šablony Vue.js můžete použít k vytvoření nového projektu. Použití šablony je nejjednodušší způsob, jak začít. Podrobný postup najdete v tématu Vytvoření první Vue.js aplikacepomocí sady Visual Studio.
Vytvoření projektu Vue.js pomocí ASP.NET Core a rozhraní příkazového řádku Vue
Vue.js poskytuje oficiální příkazový nástroj pro rychlé vytváření struktury projektů. Pokud chcete k vytvoření aplikace použít rozhraní příkazového řádku, nastavte vývojové prostředí podle kroků v tomto článku.
Důležitý
Tyto kroky předpokládají, že už máte zkušenosti s architekturou Vue.js. Pokud ne, navštivte prosím Vue.js, abyste se dozvěděli více o frameworku.
Vytvoření nového projektu ASP.NET Core
V tomto příkladu použijete prázdnou aplikaci ASP.NET Core (C#). Můžete si ale vybrat z různých projektů a programovacích jazyků.
Vytvoření prázdného projektu
Otevřete Visual Studio a vytvořte nový projekt.
V sadě Visual Studio 2019 zvolte Vytvořit nový projekt v úvodním okně. Pokud není spouštěcí okno otevřené, zvolte Soubor>Spouštěcí okno. Zadejte webovou aplikaci, jako jazyk zvolte C#, pak zvolte ASP.NET Core Prázdný, a pak zvolte Další. Na další obrazovce nazvěte projekt client-appa pak zvolte Další.
Zvolte buď doporučenou cílovou architekturu, nebo .NET 6, a pak zvolte Vytvořit.
Pokud šablonu projektu ASP.NET Core Web Application nevidíte, musíte nejprve nainstalovat pracovní zátěž ASP.NET a vývoj webu a poté pracovní zátěž pro vývoj.NET Core. Pokud chcete nainstalovat pracovní zátěže, klikněte na odkaz Otevřít instalační program sady Visual Studio v levém panelu dialogového okna Nový projekt (vyberte Soubor>Nový>Projekt). Spustí se instalační program sady Visual Studio. Vyberte požadované úlohy.
Konfigurace spouštěcího souboru projektu
Otevřete soubor ./Startup.csa do metody Configure přidejte následující řádky:
app.UseDefaultFiles(); // Enables default file mapping on the web root. app.UseStaticFiles(); // Marks files on the web root as servable.
Instalace rozhraní příkazového řádku Vue
Pokud chcete nainstalovat modul npm vue-cli, otevřete příkazový řádek a zadejte npm install --g vue-cli
nebo npm install -g @vue/cli
pro verzi 3.0 (aktuálně v beta verzi).
Generování nové klientské aplikace pomocí rozhraní příkazového řádku Vue
Přejděte na příkazový řádek a změňte aktuální adresář na kořenovou složku projektu.
Zadejte
vue init webpack client-app
a postupujte podle pokynů, až se zobrazí výzva k zodpovězení dalších otázek.Poznámka
Pro .vue soubory musíte k převodu použít webpack nebo podobný framework se zavaděčem. TypeScript a Visual Studio neví, jak kompilovat soubory .vue. Totéž platí pro sdružování; TypeScript neví, jak převést moduly ES2015 (tj. příkazy
import
aexport
) do jednoho konečného .js souboru, který se má načíst v prohlížeči. Znovu, webpack je nejlepší volbou zde. Pokud chcete tento proces řídit ze sady Visual Studio pomocí nástroje MSBuild, musíte začít ze šablony sady Visual Studio. V současné době neexistuje žádná šablona ASP.NET pro vývoj Vue.js v základu.
Upravte konfiguraci webpacku tak, aby se sestavené soubory ukládaly do složky wwwroot.
Otevřete soubor ./client-app/config/index.jsa změňte
build.index
abuild.assetsRoot
na cestu wwwroot:// Template for index.html index: path.resolve(__dirname, '../../wwwroot/index.html'), // Paths assetsRoot: path.resolve(__dirname, '../../wwwroot'),
Uveďte projekt pro sestavení klientské aplikace pokaždé, když se vyvolá nové sestavení.
Ve Visual Studio přejděte na Projekt - Vlastnosti>>Události při sestavení.
Na příkazový řádek události před sestavenímzadejte
npm --prefix ./client-app run build
.
Konfigurace názvů výstupních modulů webpacku
Otevřete soubor ./client-app/build/webpack.base.conf.jsa do výstupní vlastnosti přidejte následující vlastnosti:
devtoolModuleFilenameTemplate: '[absolute-resource-path]', devtoolFallbackModuleFilenameTemplate: '[absolute-resource-path]?[hash]'
Přidání podpory TypeScriptu pomocí rozhraní příkazového řádku Vue
Tento postup vyžaduje vue-cli 3.0, který je aktuálně v beta verzi.
Přejděte na příkazový řádek a změňte aktuální adresář na kořenovou složku projektu.
Zadejte
vue create client-app
a potom zvolte Ruční výběr funkcí.Zvolte TypeScripta pak vyberte další požadované možnosti.
Postupujte podle zbývajících kroků a odpovězte na otázky.
Konfigurace projektu Vue.js pro TypeScript
Otevřete soubor ./client-app/tsconfig.json a do možností kompilátoru přidejte
noEmit:true
.Nastavením této možnosti zabráníte nepřehledným projektům při každém sestavení v sadě Visual Studio.
Dále vytvořte soubor vue.config.js v ./client-app/ a přidejte následující kód.
module.exports = { outputDir: '../wwwroot', configureWebpack: { output: { devtoolModuleFilenameTemplate: '[absolute-resource-path]', devtoolFallbackModuleFilenameTemplate: '[absolute-resource-path]?[hash]' } } };
Předchozí kód nakonfiguruje webpack a nastaví složku wwwroot.
Sestavení pomocí vue-cli 3.0
Neznámý problém s vue-cli 3.0 může zabránit automatizaci procesu sestavení. Pokaždé, když se pokusíte aktualizovat složku wwwroot, musíte spustit příkaz npm run build
ve složce klientské aplikace.
Případně můžete projekt vue-cli 3.0 sestavit jako událost před sestavením pomocí vlastností projektu ASP.NET. Klikněte pravým tlačítkem myši na projekt, zvolte Vlastnostia na kartě Sestavení v textovém poli příkazového řádku události před sestavením vložte následující příkazy.
cd ./client-app
npm run build
cd ../
Omezení
atribut
lang
podporuje pouze jazyky JavaScript a TypeScript. Akceptované hodnoty jsou: jsx, ts a tsx.lang
atribut nefunguje se značkami šablony nebo stylu.Ladění skriptových bloků v souborech .vue není podporováno kvůli jejich předzpracované povaze.
TypeScript nerozpozná .vue soubory jako moduly. Potřebujete soubor, který obsahuje například následující kód, aby typeScriptu řekl, jak .vue soubory vypadají (šablona vue-cli 3.0 už tento soubor obsahuje).
// ./client-app/vue-shims.d.ts declare module "*.vue" { import Vue from "vue"; export default Vue; }
Spuštění příkazu
npm run build
jako událost předběžného sestavení ve vlastnostech projektu nefunguje při použití vue-cli 3.0.