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 全局AJAX事件使用代码
Nov 05 Javascript
jQuery EasyUI API 中文文档 - TimeSpinner时间微调器
Oct 23 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
Aug 23 Javascript
javascript创建数组之联合数组的使用方法示例
Dec 26 Javascript
JavaScript通过select动态更换图片的方法
Mar 23 Javascript
基于JavaScript实现移动端点击图片查看大图点击大图隐藏
Nov 04 Javascript
实例解析Vue.js下载方式及基本概念
May 11 Javascript
Node.js搭建WEB服务器的示例代码
Aug 15 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
Mar 05 Javascript
jquery实现垂直手风琴菜单
Mar 04 jQuery
JS事件循环机制event loop宏任务微任务原理解析
Aug 04 Javascript
在vue中使用vant TreeSelect分类选择组件操作
Nov 02 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
将二维数组转为一维数组的2种方法
2014/05/26 PHP
php带抄送和密件抄送的邮件发送方法
2015/03/20 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
PHP数组操作类实例
2015/07/11 PHP
yii,CI,yaf框架+smarty模板使用方法
2015/12/29 PHP
ucenter中词语过滤原理分析
2016/07/13 PHP
浅谈php中urlencode与rawurlencode的区别
2016/09/05 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
关于B/S判断浏览器断开的问题讨论
2008/10/29 Javascript
Javascript中的相等与不等运算
2010/04/25 Javascript
超轻量级的基于jquery的三级展开列表
2011/04/26 Javascript
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
当鼠标移动时出现特效的JQuery代码
2013/11/08 Javascript
JS小游戏之宇宙战机源码详解
2014/09/25 Javascript
javascript实现日期时间动态显示示例代码
2015/09/08 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
第九篇Bootstrap导航菜单创建步骤详解
2016/06/21 Javascript
[js高手之路]原型式继承与寄生式继承详解
2017/08/28 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
2017/10/13 Javascript
react-redux中connect的装饰器用法@connect详解
2018/01/13 Javascript
通过js动态创建标签,并设置属性方法
2018/02/24 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
2018/10/10 Javascript
Python实现在Linux系统下更改当前进程运行用户
2015/02/04 Python
numpy自动生成数组详解
2017/12/15 Python
对Python subprocess.Popen子进程管道阻塞详解
2018/10/29 Python
Python计算一个点到所有点的欧式距离实现方法
2019/07/04 Python
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
2020/03/30 Python
python中turtle库的简单使用教程
2020/11/11 Python
python matplotlib工具栏源码探析三之添加、删除自定义工具项的案例详解
2021/02/25 Python
印尼在线旅游门户网站:NusaTrip
2019/11/01 全球购物
水电维修专业推荐信
2014/09/06 职场文书
公司授权委托书范文
2014/09/21 职场文书
机票销售员态度不好检讨书
2014/09/27 职场文书
公务员年度个人总结
2015/02/12 职场文书
咖啡厅里的创业计划书
2019/08/21 职场文书
详解CSS伪元素的妙用单标签之美
2021/05/25 HTML / CSS