小编Sum*_*ai8的帖子

为什么我的 vue.config.js 文件不起作用?

我想部署我的应用程序,为此我需要 vue.config.js 文件作为目标 URL。但是我放在这个文件中的所有内容(我必须自己创建)都不起作用。不是构建的输出目录或 devServer 内的代理。有人遇到过同样的问题并得到解决吗?请帮我

const path = require('path')

module.exports = {
    outputDir: path.resolve(__dirname, '../server/public'),
    devServer: {
      proxy: {
        '/api': {
           target: 'http://localhost:8081/'
        }
     }
    }
  };
Run Code Online (Sandbox Code Playgroud)

包.json

{
  "name": "restrace",
  "version": "1.0.0",
  "description": "restrace app",
  "author": "Marcel Beks <mbeks1@avans.nl>",
  "private": true,
  "scripts": {
    "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
    "start": "npm run dev",
    "unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run",
    "e2e": "node test/e2e/runner.js",
    "test": "npm run unit && npm run e2e",
    "lint": "eslint --ext .js,.vue src test/unit test/e2e/specs", …
Run Code Online (Sandbox Code Playgroud)

vue.js

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

about:blank#blocked in browser 当下载文件时

我正在尝试从本地服务器下载文件(也许将来我需要在其他服务器上下载)。当我单击链接以在浏览器中下载文件时,会出现此消息“about:blank#blocked”。

我正在使用 axios 和 vue.js。. 代码是这样的:

downloadItem(urlDoc) {
    console.log(urlDoc);
    axios({
        method: 'get',
        url: urlDoc,
        responseType: 'arraybuffer',
    }).then(function(response) {
        let blob = new Blob([response.data], { type: 'image/png' })
        let link = document.createElement('a')
        link.href = window.URL.createObjectURL(blob)
        link.download = 'image.png'
        link.click()
    })
}
Run Code Online (Sandbox Code Playgroud)

以前我添加了一个 chrome 扩展来支持呼叫请求。扩展名为allow-control-allow-origin。

谢谢。

html file download vue.js axios

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

$ emit导致内存泄漏-Vue.js

我有两个组成部分。父母和孩子。父母根据加载孩子v-if。然后,孩子通过发送事件$emit来告诉父母删除孩子。

简而言之。

家长:

data() {
    return {
        show: false
    }
},
// template: 
<div>
    <div @click="show = !show">Toggle</div>
    <child-component
        v-if="show"
        @close="show = false"
   />
</div>
Run Code Online (Sandbox Code Playgroud)

儿童:

template: 
<div>
    Some Content
    <div @click="$emit('close')">Close</div>
</div>
Run Code Online (Sandbox Code Playgroud)

问题是,当$emit('close')被触发时,将从DOM中删除该子项,但不会从内存中清除该组件。

如果父母使用该toggle按钮删除了孩子,它将从内存中清除孩子。

我也尝试过使用Vuex store$root.data但这也会导致内存泄漏。

换句话说,似乎如果子级向父级发出信号,则应将其删除,然后将其保留在内存中。但是,如果父母将孩子直接删除(没有孩子的任何信号),则会从内存中删除它...

有什么想法为什么会发生这种情况以及我应该怎么做才能防止这种内存泄漏?必要的是孩子发出将其移除的信号。

[编辑]-在代码笔中进行演示。 https://codepen.io/tomshort5/pen/BaBLXvb

内存快照

通过在某些操作后制作内存快照,可以最好地看到这一点。页面加载时,我们只有一个Vue实例。 页面加载

单击切换后,将按预期创建VueComponent。 点击“切换”后

触发通过事件将其删除后,不会从内存中删除VueComponent。与再次单击“切换”进行比较时,它确实显示该组件已从内存中删除。 点击“关闭我”后

vue.js

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

为什么我的前端代码在本地和生产环境中的行为不同?

目前我只有一个 BootstrapVue VueJS 前端项目,我有 4 张扑克牌,我理想情况下希望将它们保留在一行/行上(就像在本地一样),但是当我在生产中查看它时(使用 Heroku,如果它制作了一个不同之处)

本地主机与生产环境

目前的代码如下:

    <div 
        flex-wrap="nowrap" 
        class="row d-flex nowrap mt-3" 
        justify-content="space-between" 
        width="100vw"
    >
        <b-container>
            <b-row>
                <b-col>
                    <PlayingCard/>
                </b-col>
                ....etc for the other cards....
             </b-row>
        </b-container>
    </div>
Run Code Online (Sandbox Code Playgroud)

我玩过很多不同的类和合理内容以及所有这些东西,但不断得到不同的本地与产品结果。我可以确认 Heroku 上的代码是最新的,因为它会在每次新提交时重新部署,并且自从尝试修复此样式问题以来我添加了一些新功能,并且这些功能正确显示。

heroku vue.js bootstrap-vue

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

Ajax jquery同步回调成功

我有这个函数进行ajax调用.我在最后一段代码注释中描述了这个问题.

    function doop(){
            var that = this;
            var theold = "theold";
            var thenew = "thenew";

            $.ajax({
                    url: 'doop.php',
                    type: 'POST',
                    data: 'before=' + theold + '&after=' + thenew,
                    success: function(resp) {
                            if(resp == 1) {
                                    $(that).siblings('.theold').html(thenew);
                            }
                    }
            });

            // I have some code here (out of the ajax) that **further** changes 
            // the .theold's html beyond what it was changed inside ajax success
            // but the change depends on whether the resp (inside the success 
            // function) returned 1 …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery synchronous

4
推荐指数
1
解决办法
3万
查看次数

jQuery ajaxSetup方法不适用于$ .get或$ .post吗?

请问jQuery的$.ajaxSetup方法不尊重data字段中选择散列时$.post或者$.get是叫什么名字?

例如,我可能有这个代码:

$.ajaxSetup({ data: { persist: true } });
Run Code Online (Sandbox Code Playgroud)

然后,要发送POST请求,我会这样称呼:

$.post("/create/something", { name: "foo" });
Run Code Online (Sandbox Code Playgroud)

我期待实际的POST数据看起来像这样:

{
  persist: true,
  name: "foo"
}
Run Code Online (Sandbox Code Playgroud)

但是发送的唯一数据$.post{ name: "foo" }.有没有办法获得预期的行为?我正在使用jQuery 1.4.1.

javascript ajax jquery

4
推荐指数
1
解决办法
3023
查看次数

使用.htaccess通过index.php重新路由所有请求除了一组特定的请求

所以我只是继承了一个网站.我想要做的第一件事就是构建一个漂亮的小标准,易于使用的CMS,它允许创建一个包含任何URL的页面(例如:whatever.html).

因此,如果用户点击example.com/whatever.html,它应该获取whatever.html的任何db信息并显示它.这是磨坊的事情.

我的问题是网站上有很多页面(都在.htaccess中列出)需要继续访问.例如,/ Promotions通过.htaccess链接到promotions.php,我需要它保持这种状态.

任何人都知道如何构建.htaccess文件以允许特定的重写仍然有效但是通过index.php重新路由所有其他请求?

目前,我只有.htaccess显示一个自定义404页面,该页面依次检查数据库的数据库并显示它(如果存在).这是一个简单的解决方案,但我知道有些人有奇怪的浏览器工具栏(愚蠢与否,它们存在:))autoredirect 404s,我不想用这些工具栏来惹恼我的用户不允许访问某些页面.

非常感谢你的帮助!

apache .htaccess mod-rewrite url-rewriting

4
推荐指数
1
解决办法
8559
查看次数

如何防止覆盖 jQuery 的 $.ajaxSetup() 选项?

我有一个关于 的问题ajaxSetup。当脚本启动时,我定义以下内容:

$.ajaxSetup({
  success: function(data) {
    example(); 
  }
});
Run Code Online (Sandbox Code Playgroud)

到这里一切正常。问题始于使用 Ajaxify,它覆盖了 success 函数。

我怎样才能防止这种情况发生?是否有可能执行这两个函数或将设置成功函数添加到我在主 AJAX 请求中调用的函数中?

ajax jquery

4
推荐指数
1
解决办法
2131
查看次数

ajaxComplete不工作$(窗口)

我正在使用jQuery版本1.5.1,这对我不起作用:

    $(window).ajaxComplete(function() {
        console.log('hello');
    });
Run Code Online (Sandbox Code Playgroud)

但这是:

    $(document).ajaxComplete(function() {
        console.log('hello');
    });
Run Code Online (Sandbox Code Playgroud)

为什么我不能将事件处理程序附加到$(window)

注意:此代码适用于jQuery v1.3.2,但不适用于v1.5.1

ajax jquery

4
推荐指数
1
解决办法
1811
查看次数

验证javax.persistance注释?

我想以编程方式检查对象是否满足其javax.persistance注释所指定的内容.我正在为Hibernate DAO 创建一个的单元测试用途.然而,有一个缺陷没有被单元测试捕获,因为假的没有检查@Column注释中字段的长度,Hibernate做了.

显然,我可以添加代码来手动检查这些字段,但我宁愿使用一种方法来检查所有这些字段,因此如果值发生变化,它将是最新的.我尝试使用javax.validation.ValidatorApache的Bean验证,但验证没有发现问题.是否有一个函数可以在不调用完整的Hibernate会话的情况下进行测试?

为了清楚起见,我感兴趣的是模拟Hibernate的"类型检查"而不是bean验证本身,这只是我试图用来执行检查的东西.

import javax.validation.Validation;
@Test( expected = IllegalArgumentException.class )
public shouldComplainBecauseOfNullsOrLength(){
    AclPermission acl = new AclPermission();
    acl.setTarget( "I   am    way    tooo     long   for     this   field   .    " );

    if(  !  Validation.buildDefaultValidatorFactory().getValidator().validate( acl ).isEmpty()  )
        throw new IllegalArgumentException();
    fail( "Should have had a problem with null values." );
}
Run Code Online (Sandbox Code Playgroud)

目前使用此代码,我宁愿用更强大的东西替换.

        for(  String fieldName :   new String[]{ "target", "action", "recipient" }  ){
            final Field field = AclPermission.class.getDeclaredField( fieldName );
            field.setAccessible( true );

            final …
Run Code Online (Sandbox Code Playgroud)

java validation unit-testing hibernate mocking

4
推荐指数
1
解决办法
1838
查看次数