GVKun编程网logo

无法在vue cli项目中使用laravel-echo(vue项目无法使用npm命令)

14

在这里,我们将给大家分享关于无法在vuecli项目中使用laravel-echo的知识,让您更了解vue项目无法使用npm命令的本质,同时也会涉及到如何更有效地Laravel7+Vue-未定义api-

在这里,我们将给大家分享关于无法在vue cli项目中使用laravel-echo的知识,让您更了解vue项目无法使用npm命令的本质,同时也会涉及到如何更有效地Laravel 7 + Vue-未定义api-无法在vue中显示任务发布、php – 无法在Laravel项目中使用Visual Code进行调试、php – 无法在使用Lavacharts创建的Laravel 5.1中渲染LineChart、Vue-apollo — 在Vue-cli项目中使用Graphql的内容。

本文目录一览:

无法在vue cli项目中使用laravel-echo(vue项目无法使用npm命令)

无法在vue cli项目中使用laravel-echo(vue项目无法使用npm命令)

在您的channels.php中添加guards

Broadcast::channel('Chat',function ($user) {
    return true;
},['guards' => 'web']); //  add this guards

并删除authEndpoint它应该自动检测

Laravel 7 + Vue-未定义api-无法在vue中显示任务发布

Laravel 7 + Vue-未定义api-无法在vue中显示任务发布

任务不是axios的方法。可能您需要调用api.get才能到达laravel控制器路线。在到达此处之前,请尝试始终查找文档。

看看文档here

php – 无法在Laravel项目中使用Visual Code进行调试

php – 无法在Laravel项目中使用Visual Code进行调试

我在VSCode上用PHP调试配置成功.

我的问题是,当我运行项目时,它总是在函数中出错:

protected function getJsonPayload($payload)
{
    $payload = json_decode(base64_decode($payload), true);

    // If the payload is not valid JSON or does not have the proper keys set we will
    // assume it is invalid and bail out of the routine since we will not be able
    // to decrypt the given value. We'll also check the MAC for this encryption.
    if (! $this->validPayload($payload)) {
        throw new DecryptException('The payload is invalid.');
    }

    if (! $this->validMac($payload)) {
        throw new DecryptException('The MAC is invalid.');
    }

    return $payload;
}

…来自档案:/srv/http/laravelproject/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.PHP

我无法调试我设置的断点.

Gif屏幕记录:http://i.imgur.com/6pNkoHe.gif

解决方法:

您的问题似乎是this的相关帖子,这提供了一个很好的答案.另外,我的问题是你为什么使用DecryptException? Laravel有更容易使用的bcrypt(用于密码散列)和csrf令牌(表单数据加密).

对于那些寻求快速回答而不阅读评论的人:

在Eloquent中运行以下命令:

PHP artisan optimize – > PHP artisan cache:clear – > composer dump-autoload

php – 无法在使用Lavacharts创建的Laravel 5.1中渲染LineChart

php – 无法在使用Lavacharts创建的Laravel 5.1中渲染LineChart

我已按照教程https://github.com/kevinkhill/lavacharts在我的应用程序中基于Laravel 5.1渲染图表.但无法呈现它.它给了我错误LineChart(‘Stocks’)在View中找不到.以下是我的控制器代码&查看代码.修复此问题需要进行哪些更改?

ChartController.PHP

public function generatecharts()
{

$lava = new Lavacharts;
$stocksTable = $lava->DataTable();

 $stocksTable->addDateColumn('Day of Month')
            ->addNumberColumn('Projected')
            ->addNumberColumn('Official');




// Random Data For Example
for ($a = 1; $a < 30; $a++)
{
    $rowData = array(
      "2014-8-$a", rand(800,1000), rand(800,1000)
    );

    $stocksTable->addRow($rowData);
}

  $Chart = $lava->LineChart('Stocks')
                ->setoptions(array(
                    'datatable' => $stocksTable,
                    'title' => 'Stock Market Trends'
                  ));

return view('pages.analytics');

}

analytics.blade.PHP

@extends('layouts.app')
@section('title') analytics:: @parent @stop
@section('content')



<div>
    <div>
        <h2>Welcome to analytics</h2>
    </div>

</div>
<div id="stock-div"></div>
echo $lava->render('LineChart', 'Stocks', 'stock-div');
@linechart('Stocks', 'stocks-div');


@endsection

解决方法:

1)它在documentation中声明如果你使用Laravel,你需要改变

$lava-> to \Lava:: (the slash is important)

2)实际上这行代码:

 echo $lava->render('LineChart', 'Stocks', 'stock-div');

相当于这一行:

 @linechart('Stocks', 'stocks-div');

所以你在这里有一个重复的代码(只删除一行).

您有3个选项可放入视图中:

您可以使用PHP标记:

<?PHP echo \Lava::render('LineChart', 'Stocks', 'stock-div'); ?>

或者你可以使用这个:

{!! \Lava::render('LineChart', 'Stocks', 'stock-div') !!}

或者这个简化版

@linechart('Stocks', 'stocks-div');

解:

ChartController.PHP

public function generatecharts()
{

$stocksTable = \Lava::DataTable();

 $stocksTable->addDateColumn('Day of Month')
            ->addNumberColumn('Projected')
            ->addNumberColumn('Official');




// Random Data For Example

for ($a = 1; $a < 30; $a++)
{
    $rowData = array(
      "2014-8-$a", rand(800,1000), rand(800,1000)
    );

    $stocksTable->addRow($rowData);
}

  $Chart = \Lava::LineChart('Stocks')
                ->setoptions(array(
                    'datatable' => $stocksTable,
                    'title' => 'Stock Market Trends'
                  ));

return view('pages.analytics');

}

analytics.blade.PHP

@extends('layouts.app')
@section('title') analytics:: @parent @stop
@section('content')



<div>
    <div>
        <h2>Welcome to analytics</h2>
    </div>

</div>
<div id="stock-div"></div>

{!! \Lava::render('LineChart', 'Stocks', 'stock-div') !!}

@endsection

Vue-apollo — 在Vue-cli项目中使用Graphql

Vue-apollo — 在Vue-cli项目中使用Graphql

Vue-apollo — 在Vue-cli项目中使用Graphql

Vue-apollo — Integrates apollo in your Vue components with declarative queries.

当然我们可以通过直接在url中携带参数直接请求,这样太过麻烦。vue-apollo为我们提供了一整套解决方案,可以解决大部分问题。

本篇文章将介绍如何在你的vue-cli项目中简单使用vue-apollo和一些目前遇到的小坑。

安装

npm install --save vue-apollo graphql apollo-client apollo-link apollo-link-http apollo-cache-inmemory graphql-tag

创建ApolloClient实例, 安装VueApollo插件

import Vue from ''vue''
import { ApolloClient } from ''apollo-client''
import { HttpLink } from ''apollo-link-http''
import { InMemoryCache } from ''apollo-cache-inmemory''
import VueApollo from ''vue-apollo''

const httpLink = new HttpLink({
  // You should use an absolute URL here
  uri: ''http://localhost:3020/graphql'',
})

// Create the apollo client
const apolloClient = new ApolloClient({
  link: httpLink,
  cache: new InMemoryCache(),
  connectToDevTools: true,
})

// Install the vue plugin
Vue.use(VueApollo)

如果你开启了vue-cli提供的代理, 这里同样适用.

创建PROVIDER

就像vue-routervuex一样, 需要将apolloProvider添加为根组件.

const apolloProvider = new VueApollo({
  defaultClient: apolloClient,
})

new Vue({
  el: ''#app'',
  provide: apolloProvider.provide(),
  render: h => h(App),
})

quasar-cli 中安装

如果你不了解Quasar Framework并且不打算使用, 这段可以跳过.

plugins目录中创建新的js文件, 并在 quasar.conf.js 中加入它.

打开创建好的文件:

import {ApolloClient} from ''apollo-client''
import {HttpLink} from ''apollo-link-http''
import {InMemoryCache} from ''apollo-cache-inmemory''
import VueApollo from ''vue-apollo''


// Create the apollo provider
const apolloProvider = new VueApollo({
  defaultClient: new ApolloClient({
    link: new HttpLink({
      // You should use an absolute URL here
      uri: ''http://localhost:3020/graphql'',
    }),
    cache: new InMemoryCache(),
    connectToDevTools: true
  })
})

// leave the export, even if you don''t use it
export default ({ app, Vue }) => {
  // something to do
  Vue.use(VueApollo)
  app.provide = apolloProvider.provide()
}

使用

query

需要提前在组件中定义graphql字符串.

<script>
import gql from "graphql-tag";
export default {
  data() {
    return {hello:'''',loading:0};
  },
  apollo: {
    hello: {
      query() {
        return gql`{hello}`
      },
      loadingKey: "loading"
    }
  }
};
</script>

data中必须提前创建apollo中相应字段且字段名必须相同.

通过gql创建graphql字符串, 特别注意:使用 query(){return gql` } 用来创建需要计算得到的字符串, 如字符串中携带${this.hello}等. 纯字符串可用query:gql` 直接创建.

loadingKey指定data中创建的字段, 用于表示状态, loadingKey应为初始值为0的整数. 处于加载状态时会执行loadingKey++操作, 加载结束会执行loadingKey—操作.

mutation

随时使用, 不需要提前声明或定义. 请求结果为一个promise.

this.$apollo.mutate({
      // Query
      mutation: gql`mutation ($label: String!) {
        addTag(label: $label) {
          id
          label
        }
      }`,
      // Parameters
      variables: {
        label: this.newTag,
      }
}).then(data=>{
    console.log(data)
}).catch(error=>{
    console.log(error)
})
    

并没有mutation(){return gql`} 这样的操作, 所以计算属性需要通过 variables`传入. 当然这种方法也适用于query.

数据更新

一般的, 在组件创建时会发起一次query请求. 如果需要重新请求数据:this.$apollo.queries.<$name>.refetch()

this.$apollo.queries.hello.refetch() 请求指定字段.

请求发起后loadingKey也将重新计算.

今天的关于无法在vue cli项目中使用laravel-echovue项目无法使用npm命令的分享已经结束,谢谢您的关注,如果想了解更多关于Laravel 7 + Vue-未定义api-无法在vue中显示任务发布、php – 无法在Laravel项目中使用Visual Code进行调试、php – 无法在使用Lavacharts创建的Laravel 5.1中渲染LineChart、Vue-apollo — 在Vue-cli项目中使用Graphql的相关知识,请在本站进行查询。

本文标签: