Taro的静态资源引入方式和以前的使用Webpack的方式稍有不同,我们就以引入JavaScript文件和Image图片文件为例,讲解Taro中引入静态资源的正确方法。
JavaScript资源的引入方法
JavaScript资源的引入其实和原来差不多,比如现在我们定义了一个方法叫做Zhangsan,然后再定义一个方法叫LiSi。
在/src目录下,新建一个/tools文件夹,然后在文件夹下边建立一个index.js文件,输入下面的代码。
export function zhangSan(){console.log('我是张三')}export function liSi(){console.log('我是李四')}
这时候我们如果想在blog.jsx下使用这两个方法,可能你会错误的使用.
import tools from `../../tools`
正确的引入方式应该是:
import {zhangSan,liSi} from '../../tools'
使用方法如下:
useEffect(()=>{zhangSan()liSi()},[])
图片的引入
会了JS的引入和使用,再来看一下最长使用的图片如何引入。这里是不可以直接使用的。
我们通常的做法
<Image src="../../static/newbbd0001.jpg" width="100px" height="100px" />
这种方式是没办法引入成功的,因为我们的程序最终是要通过Taro编译器进行编译的,编译后的文件目录会进行改变,你所引用的图片就会失效。
正确的引入方式是先用import进行引入,然后在使用src属性,这里给出blog.jsx的全部代码。
import Taro ,{useState ,useEffect}from '@tarojs/taro'import {View , Text ,Button,Image} from '@tarojs/components'import {xiedajiao,liuying} from '../../tools'import newbbd from '../../static/newbbd0001.jpg'function Blog(){useEffect(()=>{xiedajiao()liuying()},[])const [blogTitle,setBlogTitle]=useState('JSPangBlog')const [introduce,setIntroduce]=useState('111111')const gotoIndex=()=>{Taro.navigateTo({url:'/pages/index/index? blogTitle='+blogTitle+'&introduce='+introduce})}return (<View><Text>Blog Page111</Text><Button onClick={gotoIndex}>我要去Index页面</Button><View><Image src={newbbd} width="100px" height="100px" /></View></View>)}export default Blog
如果你觉的这样比较麻烦,你也可以直接使用require在Image组件中直接使用,代码如下:
<Image src={require('../../static/newbbd0001.jpg')} width="100px" height="100px" />
