<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>vite &#8211; SMsoft &#8211; informatica e dintorni</title>
	<atom:link href="https://blog.smsoft.it/tag/vite/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.smsoft.it</link>
	<description>consigli settimanali su MacOS, GNU/Linux ed Open Source</description>
	<lastBuildDate>Fri, 26 Sep 2025 10:04:19 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=86334</generator>
	<item>
		<title>npm: eseguire più servizi in parallelo (VITE e PHP)</title>
		<link>https://blog.smsoft.it/2025/05/06/npm-eseguire-piu-servizi-in-parallelo-vite-e-php/</link>
					<comments>https://blog.smsoft.it/2025/05/06/npm-eseguire-piu-servizi-in-parallelo-vite-e-php/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Tue, 06 May 2025 08:30:00 +0000</pubDate>
				<category><![CDATA[Html e PHP]]></category>
		<category><![CDATA[Varie]]></category>
		<category><![CDATA[npm]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[vite]]></category>
		<guid isPermaLink="false">https://blog.smsoft.it/?p=6722</guid>

					<description><![CDATA[Questa la situazione, ma quello che descrivo è applicabile per tanti altri casi simili. State sviluppando un&#8217;applicazione con VUE.JS e l&#8217;applicazione ha anche un backend API scritto in PHP. Avviamo l&#8217;applicazione in modalità di debug con: e solitamente questo attiva un servizio web sulla porta 5173 che possiamo aprire nel browser. Ma per le API ... <a title="npm: eseguire più servizi in parallelo (VITE e PHP)" class="read-more" href="https://blog.smsoft.it/2025/05/06/npm-eseguire-piu-servizi-in-parallelo-vite-e-php/" aria-label="Per saperne di più su npm: eseguire più servizi in parallelo (VITE e PHP)">Leggi tutto</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Questa la situazione, ma quello che descrivo è applicabile per tanti altri casi simili.</p>



<p class="wp-block-paragraph">State sviluppando un&#8217;applicazione con VUE.JS e l&#8217;applicazione ha anche un backend API scritto in PHP. </p>



<p class="wp-block-paragraph">Avviamo l&#8217;applicazione in modalità di debug con:</p>



<pre class="wp-block-code"><code>npm run dev</code></pre>



<p class="wp-block-paragraph">e solitamente questo attiva un servizio web sulla porta 5173 che possiamo aprire nel browser. Ma per le API PHP che ho in locale? Devo avviare un server web? devo scrivere un altro comando?</p>



<p class="wp-block-paragraph">La soluzione più semplice è usare il pacchetto npm <a href="https://www.npmjs.com/package/concurrently" target="_blank" rel="noreferrer noopener">concurrently</a> da installare con:</p>



<pre class="wp-block-preformatted">npm install --save-dev concurrently</pre>



<p class="wp-block-paragraph">poi modificare il file package.json da qualcosa tipo:</p>



<pre class="wp-block-code"><code>"scripts": {
"dev": "vite",
"build": "run-p type-check \"build-only {@}\" --",</code></pre>



<p class="wp-block-paragraph">in:</p>



<pre class="wp-block-code"><code>"scripts": {
"dev": "vite",
"dev:php": "php -S127.0.0.1:8765 -t ./",
"dev:all": "concurrently --kill-others \"npm run dev\" \"npm run dev:php\"",
"build": "run-p type-check \"build-only {@}\" --",</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">ora potremo avviare entrambe i servizi con:</p>



<pre class="wp-block-code"><code>npm run dev:all</code></pre>



<p class="wp-block-paragraph">ma nessun ci vieta di inserire nel <strong>package.json</strong> la riga che vedete in <strong>dev:all</strong> direttamente in <strong>dev</strong> e quindi lasnciare il classico <strong>npm run dev</strong> per avviarli entrambe.</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><strong>Nota:</strong></p>



<p class="wp-block-paragraph">Ora ci sarà una nuova esigenza da gestire, ovvero come dire all&#8217;applicazione di usare due url differenti come base per il puntamento verso il corretto <strong>endpoint</strong> in modalità sviluppo o produzione.</p>



<p class="wp-block-paragraph">La soluzione è quella di creare due file di environment, uno chiamato <strong>.env.development</strong> in cui inseriamo:</p>



<pre class="wp-block-code"><code>NODE_ENV=dev 
VITE_API_BASE_URL=http://127.0.0.1:8765/api/</code></pre>



<p class="wp-block-paragraph">l&#8217;altro chiamato <strong>.env.production</strong> in cui inseriamo:</p>



<pre class="wp-block-code"><code>NODE_ENV=production 
VITE_API_BASE_URL=/api/</code></pre>



<p class="wp-block-paragraph">ed infine inseriamo nel file <strong>main.ts</strong>, prima di fare il <strong>createApp()</strong> , questo codice:</p>



<pre class="wp-block-code"><code>export const API_BASE_URL = import.meta.env.VITE_API_BASE_URL as string
if (!API_BASE_URL) {
  throw new Error('VITE_API_BASE_URL is not defined')
}</code></pre>



<p class="wp-block-paragraph">cosa che renderà disponibile nell&#8217;app la costante API_BASE_URL da poter utilizzare come prefisso per le nostre chiamate API.</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><em>Chiaramente il tutto potete personalizzarlo secondo le vostre esigenze, questo è solo da prendere come spunto.</em></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.smsoft.it/2025/05/06/npm-eseguire-piu-servizi-in-parallelo-vite-e-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
