小编Noy*_*fni的帖子

在 vue 应用程序中构建后动态设置 __webpack_public_path__ 不起作用

我有一个 vue 前端和 spring boot 后端应用程序。我的应用程序有多个具有不同 url 路径的实例(例如 /instance1、/instance2),但使用相同的构建项目 - 这意味着每个实例都运行相同的 jar。该应用程序还提供静态文件 - 已编译的 vue 应用程序的 index.html。

我的问题是vue应用程序需要动态地知道从哪个url路径获取其所有静态文件,因此例如当我获取instance1的index.html时,它需要从/instance1/assets获取所有资产

我读了这个问题的许多答案,他们基本上都建议动态配置webpack_public_path全局变量,就像第一个答案一样

所以在我的 vue 应用程序中我这样做了:

main.js文件中:

import './publicpath'
import Vue from 'vue'
Run Code Online (Sandbox Code Playgroud)

然后在publicpath.js文件中:

__webpack_public_path__ = `/${window.location.pathname.split('/')[1]}/`
Run Code Online (Sandbox Code Playgroud)

上面链接的答案的问题是,它仅适用于我将应用程序作为开发应用程序运行时(在npm run servevue 项目上运行时)。构建项目后这不起作用,构建的index.html由spring boot提供。

我找不到任何解决这个问题的答案,所以我非常感谢任何帮助

谢谢你!

webpack vue.js vue-cli

6
推荐指数
1
解决办法
4376
查看次数

如何在不使用 angular.copy 的情况下使用 $http 接收到服务数据时立即显示?

我有一个服务,它应该保存我从 JSON 文件加载的特定数据。我希望数据一收到就显示在页面上。我创建了一个 $scope 变量等于服务中的数据,数据不会立即显示在页面上。

我只在使用时实现了我的目标: angular.copy(response.data, this.animals),但我不明白为什么当我使用时它不起作用: this.animals = response.data。我想知道为什么会发生这种情况以及有什么区别。

module.service("animalService", function($http) {
    this.animals=[];
    $http.get('animals.json').then(function(response) {
        //this.animals = response.data ----> not working
        angular.copy(response.data, this.animals)
    });
});

module.controller("animalController", function($scope, animalService) {
    //$scope.animals is what I use to create a table in html
    $scope.animals = animalService.aniamsl;
});
Run Code Online (Sandbox Code Playgroud)

javascript promise angularjs

5
推荐指数
1
解决办法
71
查看次数

标签 统计

angularjs ×1

javascript ×1

promise ×1

vue-cli ×1

vue.js ×1

webpack ×1