Thinkjs3新手入门之如何使用静态资源目录


Posted in Javascript onDecember 06, 2017

静态资源访问

项目开发时,一般都需要在模版里引用静态资源。

使用 thinkjs 命令创建项目时,会自动创建 www/static 目录,该目录下专门用来存放 JS、CSS、图片等静态资源。

0x0 听说new的项目自动就有www/static!?

传说默认创建的项目结构如下:

|--- development.js //开发环境下的入口文件
|--- nginx.conf //nginx 配置文件
|--- package.json
|--- pm2.json //pm2 配置文件
|--- production.js //生产环境下的入口文件
|--- README.md
|--- src
| |--- bootstrap //启动自动执行目录 
| | |--- master.js //Master 进程下自动执行
| | |--- worker.js //Worker 进程下自动执行
| |--- config //配置文件目录
| | |--- adapter.js // adapter 配置文件 
| | |--- config.js // 默认配置文件 
| | |--- config.production.js //生产环境下的默认配置文件,和 config.js 合并 
| | |--- extend.js //extend 配置文件 
| | |--- middleware.js //middleware 配置文件 
| | |--- router.js //自定义路由配置文件
| |--- controller //控制器目录 
| | |--- base.js
| | |--- index.js
| |--- service //服务目录 
| | |--- **.js //用户自己定义的服务
| |--- logic //logic 目录
| | |--- index.js
| |--- model //模型目录
| | |--- index.js
|--- view //模板目录
| |--- index_index.html
|--- www
| |--- static //静态资源目录
| | |--- css
| | |--- img
| | |--- js

其中是包含有www/static目录的,但现在通过thinkjs new出来的项目却没有这个目录,因此还需自行创建:

$ mkdir www && cd www
$ mkdir static

0x1 往其中添加文件

$ touch fuck.js && echo 'fuck 高数' > fuck.js

这里本人秉承一贯作风创建一个fuck.js文件,你也可按心情添加其他文件

然后启动项目并查看相应的页面 127.0.0.1:8360/fuck.js

如果一切正常的话,会出错!

Thinkjs3新手入门之如何使用静态资源目录

0x2 同学,请填写符合基本法的URL

正确的路径应该是 127.0.0.1:8360/static/fuck.js

Thinkjs3新手入门之如何使用静态资源目录

0x3 什么?你不喜欢static这个名字

那么可以通过修改src/config/middleware.js中resource的参数来修改:

修改前:

....
 {
 handle: 'resource',
 enable: isDev,
 options: {
 root: path.join(think.ROOT_PATH, 'www'),
 publicPath: /^\/(static|favicon\.ico)/ // <-- 此处将修改
 }
 },
....

修改后:

....
 {
 handle: 'resource',
 enable: isDev,
 options: {
 root: path.join(think.ROOT_PATH, 'www'),
 publicPath: /^\/(public|favicon\.ico)/ // <-- 此处修改了
 }
 },
....

还没完,对应的还得修改www/static为www/public:

修改前

|--- www
| |--- static //静态资源目录
| | |--- fuck.js

修改后

|--- www
| |--- public //静态资源目录
| | |--- fuck.js

大功告成,现在访问127.0.0.1:8360/public/fuck.js,就有了:

Thinkjs3新手入门之如何使用静态资源目录

0xSegmentFuck 感性认识

  • Thinkjs项目的目录结构在一定程度上对应着网站的URL(结合第一章)。
  • 官网不可尽信。
  • 调整src/config/middleware.js可以调整对项目中用到的中间件。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jQuery 使用手册(一)
Sep 23 Javascript
jQuery右键菜单contextMenu使用实例
Sep 28 Javascript
jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
Sep 19 Javascript
JS中使用DOM来控制HTML元素
Jul 31 Javascript
JavaScript登录验证码的实现
Oct 27 Javascript
VUE中使用Vue-resource完成交互
Jul 21 Javascript
DVA框架统一处理所有页面的loading状态
Aug 25 Javascript
微信小程序网络请求封装示例
Jul 24 Javascript
js获取 gif 的帧数的代码实例
Sep 10 Javascript
vue element-ui实现input输入框金额数字添加千分位
Dec 29 Javascript
vue 解决在微信内置浏览器中调用支付宝支付的情况
Nov 09 Javascript
TypeScript 内置高级类型编程示例
Sep 23 Javascript
浅谈JsonObject中的key-value数据解析排序问题
Dec 06 #Javascript
Thinkjs3新手入门之添加一个新的页面
Dec 06 #Javascript
vue 实现 ios 原生picker 效果及实现思路解析
Dec 06 #Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
Dec 06 #Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
Dec 06 #Javascript
js 两数组去除重复数值的实例
Dec 06 #Javascript
js 提取某()特殊字符串长度的实例
Dec 06 #Javascript
You might like
一个分页的论坛
2006/10/09 PHP
php中的MVC模式运用技巧
2007/05/03 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
2013/08/07 PHP
Laravel框架使用Redis的方法详解
2018/05/30 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
JavaScript 动态改变图片大小
2009/06/11 Javascript
js根据给定的日期计算当月有多少天实现思路及代码
2013/02/25 Javascript
js转义字符介绍
2013/11/05 Javascript
js获得页面的高度和宽度的方法
2014/02/23 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
2015/08/22 Javascript
深入探讨前端框架react
2015/12/09 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
简单谈谈JS数组中的indexOf方法
2016/10/13 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
JS 调试中常见的报错问题解决方法
2017/05/20 Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
2017/08/03 Javascript
使用ngrok+express解决本地环境中微信接口调试问题
2018/02/26 Javascript
vue2.0的虚拟DOM渲染思路分析
2018/08/09 Javascript
解决vue.js this.$router.push无效的问题
2018/09/03 Javascript
基于JS实现简单滑块拼图游戏
2019/10/12 Javascript
[02:33]2018 DOTA2亚洲邀请赛回顾视频 再次拾起那些美妙的时刻
2018/04/10 DOTA
pycharm 使用心得(八)如何调用另一文件中的函数
2014/06/06 Python
Python文件夹与文件的操作实现代码
2014/07/13 Python
用 Python 连接 MySQL 的几种方式详解
2018/04/04 Python
Pandas 缺失数据处理的实现
2019/11/04 Python
Python学习之os模块及用法
2020/06/03 Python
亚洲独特体验旅游专家:eOasia
2018/08/15 全球购物
大学生大二自我鉴定
2013/10/28 职场文书
少先队入队活动方案
2014/02/08 职场文书
美术学专业求职信
2014/07/23 职场文书
小学庆六一活动总结
2014/08/28 职场文书
全国法制宣传日活动总结
2015/05/05 职场文书
vue-cropper插件实现图片截取上传组件封装
2021/05/27 Vue.js
springboot+WebMagic+MyBatis爬虫框架的使用
2021/08/07 Java/Android
python 多态 协议 鸭子类型详解
2021/11/27 Python
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript