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 幻灯片插件(带缩略图功能)
Jan 24 Javascript
jqeury-easyui-layout问题解决方法
Mar 24 Javascript
原生JavaScript编写俄罗斯方块
Mar 30 Javascript
JavaScript编写连连看小游戏
Jul 07 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(下)
Oct 28 Javascript
js原生实现FastClick事件的实例
Nov 20 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
Dec 26 Javascript
vue渲染时闪烁{{}}的问题及解决方法
Mar 28 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
Sep 27 Javascript
jquery实现下载图片功能
Jul 18 jQuery
详解element-ui表格中勾选checkbox,高亮当前行
Sep 02 Javascript
ES6中Set和Map用法实例详解
Mar 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
解析zend studio中直接导入svn中的项目的方法步骤
2013/06/21 PHP
如何在php中正确的使用json
2013/08/06 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
php指定长度分割字符串str_split函数用法示例
2017/01/30 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
2020/05/15 PHP
JS调用CS里的带参方法实例
2013/08/01 Javascript
jquery 简单应用示例总结
2013/08/09 Javascript
Bootstrap零基础入门教程(二)
2016/07/18 Javascript
Three.js快速入门教程
2016/09/09 Javascript
基于BootStrap与jQuery.validate实现表单提交校验功能
2016/12/22 Javascript
SVG描边动画
2017/02/23 Javascript
vue-cli如何添加less 以及sass
2017/07/06 Javascript
vue的一个分页组件的示例代码
2017/12/25 Javascript
js数组方法reduce经典用法代码分享
2018/01/07 Javascript
vue实现多个元素或多个组件之间动画效果
2018/09/25 Javascript
JS动态显示倒计时效果
2019/12/12 Javascript
nodeJs的安装与npm全局环境变量的配置详解
2020/01/06 NodeJs
vue+ts下对axios的封装实现
2020/02/18 Javascript
在Python中操作列表之List.append()方法的使用
2015/05/20 Python
Python递归函数实例讲解
2019/02/27 Python
Python中dict和set的用法讲解
2019/03/28 Python
python利用Excel读取和存储测试数据完成接口自动化教程
2020/04/30 Python
html5 利用canvas手写签名并保存的实现方法
2018/07/12 HTML / CSS
美国正宗设计师眼镜在线零售商:EYEZZ
2019/03/23 全球购物
Happy Plugs官网:瑞典无线耳机品牌
2020/07/16 全球购物
JDBC操作数据库的基本流程是什么
2014/10/28 面试题
活动邀请函范文
2014/01/19 职场文书
运动会广播稿500字
2014/01/28 职场文书
音乐教学案例
2014/01/30 职场文书
财务主管岗位职责
2014/02/28 职场文书
总结表彰大会主持词
2014/03/26 职场文书
小学德育工作经验交流材料
2014/05/22 职场文书
2015年国培研修感言
2015/08/01 职场文书
结婚喜宴祝酒词
2015/08/10 职场文书
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技
mysql sock 文件解析及作用讲解
2022/07/15 MySQL