当前位置: 首页 > 知识库问答 >
问题:

vue.js - 为何vuex未被打包进Vue.js的输出文件?

华乐逸
2023-12-18

dependencies没有把vuex打包进入

  "dependencies": {    "@tinymce/tinymce-vue": "^3.0.1",    "axios": "^1.4.0",    "clipboard": "^2.0.11",    "dayjs": "^1.11.9",    "element-ui": "^2.15.13",    "fingerprintjs2": "^2.1.4",    "ipify": "^6.0.0",    "live-server": "^1.2.2",    "moment": "^2.29.4",    "moment-timezone": "^0.5.43",    "postcss": "^8.4.27",    "qs": "^6.11.2",    "tinymce": "^5.1.0",    "uuid": "^9.0.0",    "vue": "^2.5.2",    "vue-axios": "^3.5.2",    "vue-puzzle-vcode": "^1.1.10",    "vue-quill-editor": "^3.0.6",    "vue-router": "^3.0.1",    "vuex": "^3.6.2"  },

但是我在本机是可以允许,这代表我引入的imp vuex是可以的,但是打包之后就没有
index.js

import Vue from "vue"import Vuex from "vuex" Vue.use(Vuex);

main.js

import Vue from 'vue'import ElementUI from 'element-ui';import 'element-ui/lib/theme-chalk/index.css';import App from './App.vue'import router from './router'import store from './store'Vue.use(ElementUI);Vue.config.productionTip = false/* eslint-disable no-new */new Vue({  // el: '#app',    // components: { App },  // template: '<App/>'  router,  store,  render: h => h(App)}).$mount('#app')

共有1个答案

隆扬
2023-12-18

首先,要明确一点,当你使用诸如 Webpack 这样的模块打包器时,它只会包含你在代码中实际使用到的依赖项。在你的例子中,你已经在你的项目中安装了 vuex,但是在你的代码中并没有任何地方实际使用了 vuex,所以 Webpack 没有把它包含进最终的打包文件中。

为了解决这个问题,你需要在你的代码中实际使用 vuex。这通常是通过在你的组件中调用 this.$store 来完成的。例如,如果你有一个名为 MyComponent 的组件,并且你想从 vuex 中获取一些状态,你可以这样做:

export default {  computed: {    myState() {      return this.$store.state.myState;    }  }}

这样,当你在模板中使用 myState 时,Webpack 就会知道它需要包含 vuex

另外,你需要在你的 store.js 文件中设置你的状态和 mutations。例如:

import Vue from 'vue';import Vuex from 'vuex';Vue.use(Vuex);export default new Vuex.Store({  state: {    myState: 'initial state'  },  mutations: {    setMyState(state, newState) {      state.myState = newState;    }  }});

然后你就可以在你的组件中通过 this.$store.state.myStatethis.$store.commit('setMyState', newState) 来访问或修改这个状态了。

 类似资料:
  • 本文向大家介绍Vue.js 什么是Vuex?,包括了Vue.js 什么是Vuex?的使用技巧和注意事项,需要的朋友参考一下 示例 Vuex是一个官方插件Vue.js,可为您的应用程序提供一个集中的数据存储库供您使用。它受Flux应用程序体系结构的严重影响,该体系结构具有单向数据流,从而简化了应用程序设计和推理。 在Vuex应用程序中,数据存储区保留所有共享的应用程序状态。通过响应于通过调度程序调用

  • 有两个组件<Layout>和<HelloWorld>,代码如下: 此时打包后样式应用如下: 第一个header使用第一组样式,第二个header在继承的基础上覆盖了部分样式 但将layout最外一层div标签去掉后: 变成 再次打包,得到的结果是 两个header应用相同的样式 请问为什么多了一层div标签会造成打包结果不同?

  • 我正在尝试将vue与vuex结合起来。但是有一个错误,我无法将我的链接到我的链接到我的index.html。 我的设置是: main.js: routes.js: index.html

  • 本文向大家介绍vue.js项目打包上线的图文教程,包括了vue.js项目打包上线的图文教程的使用技巧和注意事项,需要的朋友参考一下 最近一直坚持每个月写一个小的vue.js 开发的项目,最后开发完成后想到很久之前给别人回答的一个问题:vue的项目如何上线,当时有千奇百怪的回答,我在想,这些人都是肿了么,vue的官方都说了,这个框架只是做了view这一层,所以并不是把这些开发完的东西直接拷贝到服务器

  • vue项目已经使用UglifyJsPlugin进行打包压缩了,上级要求项目打包之后js文件再小点,还有什么处理办法呢? 希望大佬们能给点建议,如果可以的话,有点代码支持! 拜谢!!!

  • vue 项目打包报错? 应该怎么调整? package.json