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 获取对象 根据属性、内容匹配, 还有表单元素匹配
May 31 Javascript
jquery的flexigrid无法显示数据提示获取到数据
Jul 19 Javascript
js opener的使用详解
Jan 11 Javascript
让checkbox不选中即将选中的checkbox不选中
Jul 11 Javascript
Node.js中的事件驱动编程详解
Aug 16 Javascript
Egret引擎开发指南之创建项目
Sep 03 Javascript
JQuery中两个ul标签的li互相移动实现方法
May 18 Javascript
javascript中错误使用var造成undefined
Mar 31 Javascript
JavaScript lodash常见用法系列小结
Aug 24 Javascript
概述一个页面从输入URL到页面加载完的过程
Dec 16 Javascript
node实现基于token的身份验证
Apr 09 Javascript
详解如何修改 node_modules 里的文件
May 22 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作的文本留言本的例子(二)
2006/10/09 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
PHP实现微信红包金额拆分试玩的算法示例
2018/04/07 PHP
Swoole源码中如何查询Websocket的连接问题详解
2020/08/30 PHP
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
用Javascript获取页面元素的具体位置
2013/12/09 Javascript
jQuery右下角旋转环状菜单特效代码
2015/08/10 Javascript
Node.js实现JS文件合并小工具
2016/02/02 Javascript
纯js实现手风琴效果
2020/04/17 Javascript
Bootstrap框架动态生成Web页面文章内目录的方法
2016/05/12 Javascript
JS实现的随机排序功能算法示例
2017/06/09 Javascript
微信小程序实现批量倒计时功能
2020/11/01 Javascript
Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
2019/10/21 Javascript
[06:04]DOTA2英雄梦之声Vol19卓尔游侠
2014/06/20 DOTA
python网络编程学习笔记(三):socket网络服务器
2014/06/09 Python
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
python中scikit-learn机器代码实例
2018/08/05 Python
初次部署django+gunicorn+nginx的方法步骤
2019/09/11 Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
2020/06/30 Python
HTML5实现锚点时请使用id取代name
2013/09/06 HTML / CSS
性能服装:HYLETE
2018/08/14 全球购物
波兰家居和花园家具专家:4Home
2019/05/26 全球购物
Footshop乌克兰:运动鞋的最大选择
2019/12/01 全球购物
广告设计专业自荐信范文
2013/11/14 职场文书
员工培训心得体会
2013/12/30 职场文书
马智宇婚礼主持词
2014/03/22 职场文书
房产公证书范本
2014/04/10 职场文书
终止劳动合同协议书
2014/04/14 职场文书
合同协议书格式
2014/04/18 职场文书
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
企业安全生产规章制度
2015/08/06 职场文书
中学生运动会广播稿
2015/08/19 职场文书
如何写好一份优秀的工作总结?
2019/06/21 职场文书
python 模块重载的五种方法
2021/04/24 Python
解决goland 导入项目后import里的包报红问题
2021/05/06 Golang