Где npm устанавливает пакеты?

Это возможно с помощью настраиваемого анализатора ресурсов Facelets. Я бы не разрешил их только HTTP, а просто из класса. Просто упакуйте общие шаблоны, например, в папку /META-INF/resources файла JAR и отпустите класс resolver в том же JAR. Наконец, распространите этот JAR среди всех webapps.

package com.example;

import java.net.URL;

import com.sun.facelets.impl.DefaultResourceResolver;

public class FaceletsResourceResolver extends DefaultResourceResolver {

    private String basePath;

    public FaceletsResourceResolver() {
        this.basePath = "/META-INF/resources"; // TODO: Make configureable?
    }

    public URL resolveUrl(String path) {
        URL url = super.resolveUrl(path); // Resolves from WAR.

        if (url == null) {
            url = getClass().getResource(basePath + path); // Resolves from JAR.
        }

        return url;
    }

}

Зарегистрируйте его в web.xml следующим образом:


    facelets.RESOURCE_RESOLVER
    com.example.FaceletsResourceResolver

Обратите внимание, что это должно быть сделано по-разному в JSF 2.x Лицевые стороны, см. этот ответ для деталей.

783
задан Lorenzo B 12 December 2015 в 19:49
поделиться

2 ответа

Если Вам установят Visual Studio, то Вы найдете, что она идет со своей собственной копией узла, отдельного от того, который находится на пути, когда Вы установили узел сами - Моя находится в C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VisualStudio\NodeJs.

, Если Вы выполните команду npm из этого каталога, то Вы узнаете, какие модули узла установлены в Visual Studio.

1
ответ дан 22 November 2019 в 21:09
поделиться

Я начинал к сходящему с ума, ища реальную конфигурацию, таким образом, вот весь список конфигурационных файлов на Linux:

  • /etc/npmrc
  • /home/youruser/.npmrc
  • /root/.npmrc

на окнах: - c/Program\Files/nodejs/node_modules/npm/npmrc

Затем в файле префикс настроен:

prefix=/usr

префикс принят значение по умолчанию к/usr в Linux к $ {APPDATA }\\npm в окнах

, модули узла находятся под деревом $prefix, и путь должен содержать $prefix/bin

может быть проблема:

  • , Когда Вы устанавливаете глобально, Вы используете "sudo su" затем эти /root/.npmrc, может использоваться!
  • , Когда Вы используете локально без sudo: для Вашего пользователя это /home/youruser/.npmrc.
  • , Когда Ваш путь не представляет Ваш префикс
  • , Когда Вы используете npm set -g prefix /usr, это устанавливает/etc/npmrc глобальное, но не переопределяет локальное

, Вот вся информация, которая отсутствовала для нахождения то, что настроено где. Надежда я был исчерпывающим.

2
ответ дан 22 November 2019 в 21:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: