vue引入静态js文件
由于一些演示,需要对编码名称等可快速进行修改,需要页面方便配置。由于build后的vue项目基本已经看不出原样,因此需要创建一个文件,并在打包的时候不会进行编译。
vue-cli 2.0的作法是在static文件下创建js。vue-cli 3.0 的写法则是直接在public文件夹下创建js、
具体操作如下:
1、在public文件夹下创建config.js文件,里面文件的语法是es5,不允许使用浏览器不能兼容的es6语法。因为该文件不进行编译,es6部分语法浏览器不兼容。
2.、在html文件下,使用<scrtipt>标签进入
3、在页面直接按照原生的方法使用即可。
例如config.js定义了一个变量叫config,并在index.html页面引入后,那么在页面任何一处地方都可以直接使用。
config.js
/*自定义全局变量,此文件不编译,因此需要用原生的写法*/
let config = {
networkGuard:{
accountDBID: '9E54B0CA55E447148211ACEA6F911FBC',// 账号表,网警数据-身份证账号关联
countDBQry: [ // 账号表搜索条件,需要和数据表的搜索条件进行关联
{fieldCode: "account", fieldName: "账号", searchRule: "LK", javaType: "varchar", similar: 0, fieldValue:''}, // fieldValue需要页面输入赋值查询
{fieldCode:"update_time", fieldName:"更新时间", searchRule:"BET", javaType:"datetime", similar:0, min:"2017-01-01 00:00:00",max:''} // max为当天时间:23:59:59
],
}
}
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= webpackConfig.name %></title>
</head>
<body>
<div id="app"></div>
</body>
<script src="./config.js" type="text/javascript"></script>
</html>
页面使用:
 queryFun() {
        if(!this.mobile) {
          return false
        }
        // 验证表达式不是电话号码不给进入
        const reg = /^[1][3,4,5,7,8][0-9]{9}$/
        if(!reg.test(this.mobile)) {
          this.$message({ showClose: true, message: '请输入正确的手机号码!', type: 'warning' })
          return false
        }
        config.networkGuard.countDBQry[0].fieldValue = this.mobile
        Object.assign(this.listQuery,{
          dataBaseId: config.networkGuard.accountDBID,
          params: config.networkGuard.countDBQry
        })
    ……
个人错误记录:
在开发环境中,我在public下创建了config.js文件,并且用export default方法进行导出。在页面使用的地方使用import config from XXX进入引入。开发过程中,没有出问题,但是在打包发布以后,发现修改config文件并不生效。
经过排查才意识到:不打包编译的js文件不识别es6语法,并且不应该使用import方法进行引入。应该按照原生的js文件进行使用
vue引入静态js文件的更多相关文章
- Vue中引入静态JS文件(爬坑)
		
前言(背景介绍) 开发的项目需要与Threejs的3D项目结合在一起,需要静态引入,jquery.js,stats.js,three.js,ThreeBSP.js等静态文件.开发环境是iview-ad ...
 - Vue引入远程JS文件
		
问题 最近在使用 Vue 做东西,用到钉钉扫描登录的功能,这里需要引入远程的 js 文件,因为 Vue 的方式跟之前的不太一样,又不想把文件下载到本地应用,找了一下解决的方法,貌似都需要引入第三方的库 ...
 - vue页面引入外部js文件遇到的问题
		
问题一:vue文件中引入外部js文件的方法 //在vue文件中 <script> import * as funApi from '../../../publicJavaScript/pu ...
 - vue组件内部引入远程js文件
		
之所以要做这个是因为,在一个组件内部需要引入一个js文件来定位.如果放在index.html,这样每个组件都会有这个js.所以需要在组件内单独引入. 第一种操作 Dom引入js: export def ...
 - Django_博客项目 引入外部js文件内含模板语法无法正确获取值得说明和处理
		
问题描述 : 项目中若存在对一段js代码复用多次的时候, 通常将此段代码移动到一个单独的静态文件中在被使用的地方利用 script 标签的 src 属性进行外部调用 但是如果此文件中存在使用 HTML ...
 - 使用jQuery插件时避免重复引入jquery.js文件
		
当一个页面使用多个jQuery插件时,需要避免重复引入jquery.js文件,因为后面映入的jQuery.js文件中定义的jQuery对象会覆盖掉前面的jQuery对象,导致之前定义的jQuery插件 ...
 - Python+Django+js+echarts引入本地js文件的操作方法
		
1. 选择正确的echarts.js,开发版选择echarts.baidu.com上的源码版,避免出现问题 2. 在项目主目录中新建static文件夹,里面建立js.css.images文件夹 3. ...
 - 微信小程序从零开始开发步骤(七)引入外部js 文件
		
上一章讲到小程序页面的四种常见的跳转的方法,这一章写如何引入一个外部的js文件,既utils文件夹的用处,其实步骤很简单: 1:准备好外部想要引入的外部文件,命名为util.js,并且填充固定的文件内 ...
 - 在vue的js文件引入自定义js文件
		
自定义js var provinces=[] export default provinces vue页面js引入 import riskLeft from "./index.js" ...
 
随机推荐
- CAS单点登录系统--进阶
			
2.CAS服务端数据源设置 2.1需求分析 我们现在让用户名密码从我们的优乐选的user表里做验证 2.2配置数据源 (1)修改cas服务端中web-inf下deployerConfigContext ...
 - java中Map的put函数和get函数用法
			
---内容开始--- 没有比较完整的说明他们的用法,一般就只能看源函数,但是看起来比较的费劲. 那么究竟put函数和get函数的用法是如何的呢? 当然java中的Map集合是有Key和Value的. ...
 - 洛谷P1484 种树&洛谷P3620 [APIO/CTSC 2007]数据备份 题解(堆+贪心)
			
洛谷P1484 种树&洛谷P3620 [APIO/CTSC 2007]数据备份 题解(堆+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/132 ...
 - 洛谷P1155 双栈排序题解(图论模型转换+二分图染色+栈)
			
洛谷P1155 双栈排序题解(图论模型转换+二分图染色+栈) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1311990 原题地址:洛谷P1155 双栈排序 ...
 - ☆☆☆☆☆Placeholder兼容各大浏览器的例子☆☆☆☆☆
			
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
 - 微信授权获取code/openid
			
微信网页授权 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域名的说明 1.在微信公众号请求用户网页授权之前,开发者需要 ...
 - PAT Basic 1010 一元多项式求导 (25 分)(活用stringstream,昨天学习的)
			
设计函数求一元多项式的导数.(注:xn(n为整数)的一阶导数为nxn−1.) 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数).数字间以空格分隔. ...
 - PAT Advanced 1065 A+B and C (64bit) (20 分)(关于g++和clang++修改后能使用)
			
Given three integers A, B and C in [−], you are supposed to tell whether A+B>C. Input Specificati ...
 - vim小白练习记录
			
1.vim卡死 按ctrl+s键后 vim卡死,按任何键不管用,按ctrl+q恢复
 - Arduino-舵机
			
舵机一般都外接三根线,一般棕色为接地线(GND),红色为电源正极线(VCC),橙色为信号线(PWM). 用Arduino控制舵机的方法有两种: 一种是通过Arduino的普通数字传感器接口产生占空比不 ...