前端开发问题记录

前端开发问题记录

Vue

1.资源引入报错:Uncaught SyntaxError: Unexpected token < 参考博客

assets文件夹与static文件夹

  • assets文件是src下的,所以最后运行时需要进行打包,而static文件不需要打包就直接放在最终的文件中了
  • assets中的文件在vue中的template/style下用…/这种相对路径的形式进行引用,在script下必须用@import的方式引入而static下的文件在.vue中的任何地方都只要使用…/这种相对路径的方式引入
  • assets用来放置样式、静态图片,只要src下面的组件中用到的资源就放在assets中。
  • static用来放没有npm包的第三方插件,字体文件。
  • assets与components同级 components下的.vue引用静态文件时,相对路径为 …/assets/wapFront
  • src目录下的资源只能import或require。
  • 想静态引入的话,建立一个与src同级的目录例如static,然后把静态资源放入该文件夹下,html的引入路径如下:./static/…(注:一定要放在static文件夹下,否则报错)

2.解决vuex在页面刷新后数据丢失的问题

  • 使用sessionStorage,localStorage进行备份还原,参考博客

3.vue 带参数跳转打开新窗口 $router.resolve 参数不在url中

// 1.如果参数在路径中:
router.js
    path: '/project/:id'

var { href } = this.$router.resolve({
    path: '/project',
    query: {
        id: this.id
    }
});
window.open(href);
// 获取参数:this.$route.query.id

// 2.如果参数不在路径中:
// 2.1.不打开新窗口:
     path: '/projectlist' , name: '项目列表'        

    var href = this.$router.push({
    name: '项目列表',
    params: {
       msg : this.msg
    }
});
// 获取参数:this.$route.params.msg

// 2.2.打开新窗口:
var { href } = this.$router.resolve({
    name: '项目列表',
});
localStorage.setItem("msg", this.msg)
window.open(href);
// 获取参数:
if (localStorage.getItem('msg')){
      this.m= localStorage.getItem('msg');
      localStorage.clear();
};

4.vue中axios 兼容IE浏览器

在项目开发过程中用到了axios来获取数据,但在IE中报错:proimse未定义。这是因为axios本质上是封装了ES6语法的promise,而promise在IE上并不兼容。 解决办法:安装babel-polyfill

// 1.安装:npm i --save-dev babel-polyfill
// 2.在main.js中   import 'babel-polyfill'
// 3.在build/vue-loader.conf.js中:
module.exports = {
  entry: { app: ['babel-polyfill', './src/main.js'] },
  ......
}

最新版本的项目,没有webpack.config.js文件,如何配置babel-polyfill?参考issue

5.history模式下刷新页面404
解决方法:配置nignx将错误重定向到index.html

location / {
  try_files $uri $uri/ /index.html;
}

6.在history模式下存在多级路由时,页面路由跳转是ok的,但当二级以上路由时,浏览器直接刷新页面会空白

  • 老的vue项目,找到publicPath:““改成publicPath:”/”
  • 最新的vue脚手架搭建的,在项目中找到这个文件node_modules/@vue/cli-service/lib/options.js,然后把里面的baseUrl:"“改成baseUrl:”/"就可以了

参考博客

element ui

1.表格前面的选择框后面如果有三个点,增大该列的宽度即可

2.el-radio-group回显问题,form.status的前后端数据类型要一致v-model和:label的类型要一致。假设form.status是整数,:label绑定的也必须是整数。参考博客1博客2

<el-radio-group v-model="form.status">
 <el-radio
   v-for="item in statusOptions"
   :key="item.value"
   :label="parseInt(item.dictValue)"
 >{{item.label}}</el-radio>
</el-radio-group>

npm

1. node-sass下载失败

在这里插入图片描述

2. npm ERR! Cannot read properties of null (reading ‘pickAlgorithm’)

项目打包时报错

npm cache clear --force

vscode

1. copilot tab键失效

Ctrl + m 这个快捷键的作用,就是切换 Tab 按键的作用,一个是 自动补全(Tab Moves focus) ,一个是 移动焦点 。

其他

使用 js-cookie 移除cookie,如果不生效,检查是否指定了 path

Cookie.remove('env_set', {
        domain: '.example.com',
        path: '/',
})
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值