Я борюсь с развертыванием внешнего интерфейса Vuejs на моем локальном IIS.Я хотел бы, чтобы мое приложение было развернуто в папке с именем FE_STB, которая является подкаталогом в моей папке C: \ inetpub \ wwwroot.
В идеале, URL для доступа к интерфейсу должен быть http://localhost/FE_STB/.
Чтобы сделать это, я попробовал следующее в vue.config.js:
module.exports = {
// Used to build the path for the css, js
baseUrl: process.env.NODE_ENV === 'production'
? '/FE_STB/'
: '/',
// The folder where the app will be built in the project directory instead of the default dist folder
// outputDir: 'Vue',
};
выполняется npm run build
генерирует index.html, favicon.ico, мой img,папки js, css и шрифты.Index.html содержит теги ссылок, такие как (<link href=/FE_STB/css/chunk-05c5.672f5bfa.css />
), и я думал, что он движется в правильном направлении.
Однако он продолжает возвращать
404 не найденную ошибку
при попытке получить доступ к http://localhost/FE_STB/.
С другой стороны, если я скопирую только index.html в корневой каталог моей установки IIS (wwwroot) вместоВ подкаталоге FE_STB и проверке URL http://localhost/ мое приложение отображается правильно.
Однако, когда я начинаю просматривать приложение и нажимаю кнопку обновления, я получаю сообщение об ошибке.Например, если я нахожусь на http://localhost/about/ в моем приложении и обновляю его с помощью F5, я получу ошибку 404, так как она ищет каталог C: \ inetpub \ wwwroot \ about \, который явно не существует.
Я также попробовал решения web.config и IISrewrite, как описано на веб-сайте vuejs , или попытался добавить:
const router = new VueRouter({
mode: 'history',
// To define sub-directory folder for the deployment
base: 'FE_STB',
routes,
linkActiveClass: 'active',
scrollBehavior(to, from, savedPosition) {
return savedPosition || { x: 0, y: 0 };
},
});
в мой router.js, но это не помогло.ничего не менять.
Любые советы или указания были бы очень полезны.
Спасибо
S.