nuxtjs里面集成vuex的创建方式改变了,并且官方不建议以导出Vuex实例的方式创建store,并且会在nuxt3里面删除。这样就会存在一个问题,我怎么像普通vue spa项目一样直接 import store from '@/store'呢?

虽然官方建议为这个js写一个plugins,然后在 plugins 里面使用

export default ({ app, $axios, store, route, redirect }) =>{

...

}

虽然这里面确实可以获取到,大多数情况也确实该如此。但是总有那么些异常情况需要在单独js里面引用怎么办呢?而我也确实遇到了,因为项目之前以spa形式,后来要做平台化,需要依赖seo,那么只能转为ssr渲染。项目也不小,包含的内容非常多,整体转为ssr,又没有足够的时间周期,那么肯定是越平滑过渡越好,尽量避免大量的改动。那么就确实遇到了这个问题,需要在单独js文件里引入store及router。

因为nuxt创建的 store 实例并没有 exports 出来,所以没法直接 import。之前尝试了很多方法,比如:

1、因为nuxt里的vuex创建方式是将state以函数导出,getters等也是直接导出,那么尝试

import { state } from '@/store/index.js'

//用的时候就需要

state().pick

但是这种方式获取到的值始终是null,这显然是不对的。可能原因在于它导出的只是这个变量,而并不是这个store实例里的这个state,所以导致获取不到值,不知道理解是否正确。那么继续找方案。

2、网上查的:

可以 hack 一下,从组件中获取到 store 后赋值到一个地方保存起来

也可以写一个 plugin,在 plugin 执行的时候把 store 保存起来

没具体试过可不可行

3、实例初始化完毕以后 nuxt 会在 window 全局注入$nuxt ,通过$nuxt.$store 可以访问 store,$nuxt.$router 可以访问到router,但是需要注意的是,初始化完毕以前是无法访问$nuxt的,所以需要再初始化完毕之后才能使用该方法。

const store =$nuxt.$storeconst router = $nuxt.$router

nuxt 如何引入js_nuxtjs如何在单独的js文件中引入store和router相关推荐

  1. 在javascript中使用el表达式(jsp中的javascript中支持写el表达式,毋庸置疑,单独的js文件中不支持写el表达式,别钻牛角尖)

    哎,够背的,最后4张图怎么调整都很小,看不清楚,所以大家还是看我这篇文章吧在javascript中使用el表达式(图片清晰版,有图有真相),这篇文章的图片可以正常看清楚,跟我这篇文章是一样的内容! 有 ...

  2. 在一个js文件中引入另一个js文件

    第一个js文件(被引入的js文件),文件名one.js,内容如下 function alertInOne(){     alert('in one'); } 第二个js文件,文件名two.js,内容如 ...

  3. js文件中引入js的方法

    方法一,在调用文件的顶部加入下例代码 document.createElement("script").setAttribute("src", "re ...

  4. JavaScript:在一个JS文件中引入另外的一个JS文件

    前因 这个问题是因为有很多的Html文件(含有公共的JS文件),可能都需要使用同一个JS方法,但是这个JS方法需要依赖其他JS文件的支持,这时候我们不能每一个Html都要写导入JS的标签,我们需要使用 ...

  5. 如何在vue文件中引入heyui组件库

    1.npm 下载 npm install heyui 2. 此处我选择以js的形式引入main.js // css引用 import (less) "~heyui/themes/index. ...

  6. 在 Nuxt.js 和 Vue.js 项目中引入第三方字体或艺术字

    一.需求分析 在我们写前端页面的时候,大部分时候是不需要用到第三方字体的,但如果是面向C端的页面,比如宣传页,就有可能会引入第三方字体,主要还是看UI设计师咋想了,此时我们可以通过让UI将特殊字体切成 ...

  7. 单独使用elementui_Vue在单独引入js文件中使用ElementUI的组件

    Vue在单独引入js文件中使用ElementUI的组件 问题场景: 我想在vue中的js文件中使用elementUI中的组件,因为我在main.js中引入了element包和它的css,并挂载到了全局 ...

  8. Nuxt 项目引入外部Js的正确姿势 ,问题描述:打包构建之后引入的外部 js失效,构建之后的 .nuxt 文件夹下的js文件中,引入 js 的script标签凭空消失!

    首先先说我遇到的问题描述:       我是用vue + nuxt项目,项目中使用了阿里播放器,于是我在vue页面中直接引入了阿里播放器的 css和js文件,然后运行没有任何问题:如下图所示: 但是! ...

  9. 实现java的outline功能_在单独的功能文件中重用Scenario Outline中的示例

    我将如何在单独的.feature文件中使用表格在多个.feature文件中使用多个场景大纲?我正在努力只在一个地方更新我的测试数据,并带来所有的好处 . 我目前有一个 Scenario Outline ...

最新文章

  1. python3模拟登陆人人网(requests)
  2. python外星人入侵不显示子弹_【Python】python外星人入侵,武装飞船,代码写好后,不显示子弹...
  3. 15、设计模式-行为型模式-职责链模式
  4. ubuntu jdk tomcat mysql_linux-ubuntu tomcat jdk 及 mysql 安装配置
  5. g标签 怎么设置svg_svg g标签的运用
  6. 【信号与系统】DTFT离散时间傅里叶变换
  7. js系列七:生命周期
  8. appRTC android studio,webrtc入门之客户端连麦demo-apprtc
  9. (usb转串口)CH340驱动安装失败的解决方案
  10. win10如何给c盘增加分区
  11. DFRobot的产品
  12. DB-Engines发布了2017年9月数据库排名。
  13. android camera 废弃,Android相机android.hardware.Camera已弃用
  14. SV中virtual作用
  15. 耳机接口规则_3.5mm耳机接口和2.5mm耳机接口有什么区别?
  16. 腾讯云5000亿元、阿里云2000亿元,都是投的啥?
  17. 手机网页视频背景自动播放记录
  18. ubuntu ble c语言编程,Ubuntu通过蓝牙连手机上网
  19. 8个问题带你搞懂《小门神》背后的技术
  20. NMM社会共存感调查问卷

热门文章

  1. python使用imbalanced-learn的NeighbourhoodCleaningRule方法进行下采样处理数据不平衡问题
  2. plotly可视化绘制多图(multiplot)
  3. plotly基于dataframe数据绘制柱状图(bar plot)
  4. 影像组学视频学习笔记(34)-使用3D Slicer软件提取影像组学特征、Li‘s have a solution and plan.
  5. java boolean io流_java基础入门-day22-IO流
  6. 乌托邦畅想:众筹开源城市
  7. 非线性求解器Casadi使用简介
  8. 序列比对软件/比对工具的比较
  9. Oxford Nanopore碱基识别(basecalling)软件性能大比拼
  10. Python - 输出格式 (学习小结)