Ответы пользователя по тегу Less
  • Как добавить web проект в VS?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    добавляются только файлы корневого каталога

    Не совсем понял, о чем речь. Возможно, в Visual Studio 2015, если делать вставку из проводника, файлы могут не включаться в решение, будут добавлены только каталоги. Их придется включать вручную. Для этого нужно включить показ всех файлов:

    89d8e00e769e41808eab50484b01860e.png
    И затем выбрать недостающие файлы и папки и включить их в проект через контекстное меню:

    110986bb5b81446e980dce674c107b4f.png

    В Visual Studio для PHP я использую PHP Tools for VS.

    С TypeScript в рамках Visual Studio проект PHP дружить так и не захотел.

    Самое простое решение - сделать отдельный проект для TypeScript (в рамках одного решения).

    В bundleconfig.json (BundlerMinifier) можно прописать вывод собранных файлов в любую папку, в том числе в папку с проектом PHP.

    Вот тут можно посмотреть пример, как это может быть.

    460884d980314ab4902ecdd101ad5888.png
    Структура решения:
    /Решение
    -- FrontEndScripts - проект TypeScript
    -- SmallServerAdmin - проект PHP, в который, помимо прочего, собираться клиентский код

    bundleconfig.json
    [
      {
        "includeInProject": false,
        // вывод js делаем в проект SmallServerAdmin
        "outputFileName": "../SmallServerAdmin/Content/compiled.js",
        "inputFiles": [
          // файлы, которые должны входить итоговую в сборку
          "libs/jquery-1.11.2.js",
          "libs/jquery-ui.min.js",
          "libs/jquery.json.min.js",
          "libs/jquery.caret.min.js"
          // ...
        ]
      }
    ]


    TypeScript компилируется в JavaScript в тоже место, где находятся файлы TypeScript. Каждый файл прописывается в bundleconfig.json. Затем все это собирается в итоговый файл /SmallServerAdmin/Content/compiled.js.

    Плохое, но простое решение.

    Еще можно попробовать в настройках проекта TypeScript (Проект -> Свойства проекта) указать параметры сборки и папку вывода (путь может быть относительным).

    ae17a55c4ba748fb9eb97d8974479ee9.png
    Если оставаться в рамках одного проекта, то можно попробовать сделать файл конфигурации TypeScript в корне проекта: tsconfig.json. Возможно он будет использован, но в проектах отличных от TypeScript я этого не проверял и не могу точно сказать, как это будет работать.

    {
      "compilerOptions": {
        "outDir": "./куда делать вывод компилированных файлов",
        "sourceMap": false,
        "noImplicitAny": true,
        "module": "CommonJS",
        "target": "es5"
      },
      "files": [
        // файлы проекта
        "./init.ts"
      ]
    }


    С WebPack можно сделать больше, но это будет существенно сложнее. Пример решения (TypeScript + PHP) можно тут посмотреть.

    Для WebPack потребуется:

    • Node.js
    • Webpack Task Runner
    • NPM Scripts Task Runner

    Управление сборкой TypeScript можно оставить студии, это проще всего. А все остальное прописывается в webpack.config.js. Но все может быть очень сложно, на получение оптимальной конфигурации можно угрохать пару десятков часов :-)
    Ответ написан
    2 комментария