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 相关文章推荐
将函数的实际参数转换成数组的方法
Jan 25 Javascript
判断输入是否为空,获得输入类型的JS代码
Oct 30 Javascript
jquery事件preventDefault()方法用法实例
Jan 16 Javascript
jquery合并表格中相同文本的相邻单元格
Jul 17 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
Jun 08 Javascript
原生javascript实现图片放大镜效果
Jan 18 Javascript
MvcPager分页控件 适用于Bootstrap
Jun 03 Javascript
利用Javascript开发一个二维周视图日历
Dec 14 Javascript
详解JavaScript添加给定的标签选项
Sep 17 Javascript
基于Three.js实现360度全景图片
Dec 30 Javascript
js实现的在本地预览图片功能示例
Nov 09 Javascript
关于Js中new操作符的作用详解
Feb 21 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
PHP单例模式简单用法示例
2017/06/23 PHP
thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例
2019/07/03 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
2019/10/09 PHP
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
2006/10/17 Javascript
区分JS中的undefined,null,&quot;&quot;,0和false
2007/03/08 Javascript
JavaScript 实现模态对话框 源代码大全
2009/05/02 Javascript
JavaScript Sort 表格排序
2009/10/31 Javascript
关于include标签导致js路径找不到的问题分析及解决
2013/07/09 Javascript
javascript 上下banner替换具体实现
2013/11/14 Javascript
js日期、星座的级联显示代码
2014/01/23 Javascript
JS 打印功能代码可实现打印预览、打印设置等
2014/10/31 Javascript
在Python中使用glob模块查找文件路径的方法
2015/06/17 Javascript
百度多文件异步上传控件webuploader基本用法解析
2016/11/07 Javascript
微信小程序实现添加手机联系人功能示例
2017/11/30 Javascript
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
2018/01/08 jQuery
webpack公共组件引用路径简化小技巧
2018/06/15 Javascript
vue-for循环嵌套操作示例
2019/01/28 Javascript
layui监听单元格编辑前后交互的例子
2019/09/16 Javascript
微信小程序 bindtap 传参的实例代码
2020/02/21 Javascript
JavaScript 禁止用户保存图片的实现代码
2020/04/28 Javascript
Vue项目中使用mock.js的完整步骤
2021/01/12 Vue.js
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python中处理时间的几种方法小结
2015/04/09 Python
python使用wxPython打开并播放wav文件的方法
2015/04/24 Python
Python2.X/Python3.X中urllib库区别讲解
2017/12/19 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
2018/07/07 Python
如何编写python的daemon程序
2021/01/07 Python
Sunglasses Shop丹麦:欧洲第一的太阳镜在线销售网站
2017/10/22 全球购物
柏林通行证:Berlin Pass
2018/04/11 全球购物
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
充分就业社区汇报材料
2014/05/07 职场文书
医院信息公开实施方案
2014/05/09 职场文书
纪念九一八事变演讲稿:牢记九一八,屈辱怎能忘
2014/09/14 职场文书
公安交警个人对照检查材料思想汇报
2014/10/01 职场文书
python3实现无权最短路径的方法
2021/05/12 Python
Java Spring Lifecycle的使用
2022/05/06 Java/Android