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 相关文章推荐
AutoSave/自动存储功能实现
Mar 24 Javascript
用JS剩余字数计算的代码
Jul 03 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
Dec 08 Javascript
Three.js源码阅读笔记(Object3D类)
Dec 27 Javascript
在AngularJS应用中实现一些动画效果的代码
Jun 18 Javascript
javascript拖拽应用实例(二)
Mar 25 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
Aug 10 Javascript
微信小程序显示下拉列表功能【附源码下载】
Dec 12 Javascript
vue webpack开发访问后台接口全局配置的方法
Sep 18 Javascript
玩转Koa之koa-router原理解析
Dec 29 Javascript
微信小程序时间轴实现方法示例
Jan 14 Javascript
JS数组方法concat()用法实例分析
Jan 18 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
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
《Re:从零开始的异世界生活 冰结之绊》
2020/04/09 日漫
浅析echo(),print(),print_r(),return之间的区别
2013/11/27 PHP
php更新修改excel中的内容实例代码
2014/02/26 PHP
php的memcache类分享(memcache队列)
2014/03/26 PHP
取得单条网站评论以数组形式进行输出
2014/07/28 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
php+mysql实现的无限分类方法类定义与使用示例
2020/05/27 PHP
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
jquery学习笔记二 实现可编辑的表格
2010/04/09 Javascript
Javascript事件实例详解
2013/11/06 Javascript
js取消单选按钮选中并判断对象是否为空
2013/11/14 Javascript
使图片旋转的3种解决方案
2013/11/21 Javascript
jQuery中replaceAll()方法用法实例
2015/01/16 Javascript
详解JavaScript基于面向对象之继承
2015/12/13 Javascript
JS动态计算移动端rem的解决方案
2016/10/14 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
2016/12/02 Javascript
JS获得多个同name 的input输入框的值的实现方法
2017/01/09 Javascript
Layui多选只有最后一个值的解决方法
2019/09/02 Javascript
[26:21]浴火之凤-TI4世界冠军Newbee战队纪录片
2014/08/07 DOTA
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
利用python程序帮大家清理windows垃圾
2017/01/15 Python
解决python2.7用pip安装包时出现错误的问题
2017/01/23 Python
从头学Python之编写可执行的.py文件
2017/11/28 Python
详解python的ORM中Pony用法
2018/02/09 Python
获取python的list中含有重复值的index方法
2018/06/27 Python
python下载微信公众号相关文章
2019/02/26 Python
Python插件机制实现详解
2020/05/04 Python
Nike比利时官网:Nike.com (BE)
2019/02/07 全球购物
幼儿园教师请假制度
2014/01/16 职场文书
教师自我鉴定范文
2014/03/20 职场文书
新学期开学演讲稿
2014/05/24 职场文书
学生会竞选演讲稿学习部
2014/08/25 职场文书
高中生毕业评语
2014/12/30 职场文书
python利用while求100内的整数和方式
2021/11/07 Python
如何在python中实现ECDSA你知道吗
2021/11/23 Python