GNU/Linux >> Znalost Linux >  >> Linux

Správný způsob odkazování na soubory vzhledem ke kořenovému adresáři aplikace v Node.JS

Chcete-li získat absolutní cestu souborového systému k adresáři, kde běží proces uzlu, můžete použít process.cwd() . Takže předpokládám používáte /server.js jako proces, který implementuje /services/template-reading-service.js jako modul můžete provést následující z /service/template-reading-service.js :

var appRoot = process.cwd(),
    templateContent = fs.readFileSync(appRoot + '/templates/my-template.html', 'utf8');

Pokud to nefunguje, možná používáte /service/template-reading-service.js jako samostatný proces, v takovém případě budete muset zajistit, aby všechna spuštění tohoto procesu předala cestu, kterou chcete považovat za primární kořen aplikace. Pokud například /server.js spustí /service/template-reading-service.js jako samostatný proces pak /server.js by mu měl předat svůj vlastní process.cwd().


Zkuste

var templateContent = fs.readFileSync(path.join(__dirname, '../templates') + '/my-template.html', 'utf8');

Linux
  1. Linux sledovat všechny soubory, ke kterým má proces přístup?

  2. Jak zabránit procesu v zápisu souborů

  3. Existuje způsob, jak naslouchat procesu?

  1. Posix způsob nastavení nulového argumentu cílové aplikace?

  2. Zná někdo jednoduchý způsob, jak sledovat spawn kořenového procesu

  3. Správný způsob interpretace zatížení systému na 4jádrovém 8vláknovém procesoru

  1. Přenosný (posix) způsob, jak dosáhnout substituce procesu?

  2. Jak zajistit, aby skript Shell vždy běžel jako root?

  3. Konflikty Node.js:/sbin/node vs /usr/bin/node?