精华内容
下载资源
问答
  • 由于业务需求,要做好多的静态页面,起初为了提高代码兼容性,做了脚手架去开发页面,提高代码兼容行和开发体验。但是后来项目越来越多,维护起来相当费力,就打算所有页面合并到一个项目,即使这些个静态...

    由于业务需求,要做好多的静态页面,起初为了提高代码的兼容性,做了脚手架去开发页面,提高代码的兼容行和开发体验。但是后来项目越来越多,维护起来相当费力,就打算把所有页面合并到一个项目里,即使这些个静态页面没有关系。我的目录结构大概是这样:

    static下的文件(图片、视频、字体等)一律不做处理直接拷贝,但是这么做css中背景图片怎么打包呢?我使用了file-loader插件。但是开始的配置只能把背景图片打包到dist文件夹下,我想要的是每个页面应用的文件都打包到对应的页面文件夹里面,页面是可增可改的,路径大概为:dist/xxx/static/images/img.png.但是file-loader的name是写死的啊,打包的逻辑里面怎么获取文件夹名字呢?

    {

    test:/\.(png|jpe?g|gif|svg)(\?.*)?$/,

    include: [config.srcPath],//在源文件目录查询

    exclude: /node_modules/, //忽略第三方的任何代码

    use: [{ //图片文件小于8k时编译成dataUrl直接嵌入页面,超过8k回退使用file-loader

    loader: 'url-loader',

    options: {

    limit:8192, //8k

    name: 'images/[name].[hash:7].[ext]',

    fallback:'file-loader', //当超过8192byte时,会回退使用file-loader

    publicPath:'/' //采用根路径

    }

    }]

    },

    后来发现可以利用file-loader的path和context解决我的问题,修改过的代码是这样子:

    {

    test:/\.(png|jpe?g|gif|svg)(\?.*)?$/,

    include: [config.srcPath],//在源文件目录查询

    exclude: /node_modules/, //忽略第三方的任何代码

    use: [{ //图片文件小于8k时编译成dataUrl直接嵌入页面,超过8k回退使用file-loader

    loader: 'url-loader',

    options: {

    limit:8192, //8k

    name: '[path]/[name].[hash:7].[ext]', //利用[path]路径获取文件夹名称并设置文件名

    fallback: 'file-loader', //当超过8192byte时,会回退使用file-loader

    context: path.resolve(__dirname, '../src'),//过滤掉[path]的相对路径

    publicPath: '/' //采用根路径

    }

    }]

    },

    此时的path是相对路径,它的值应该为/src/xxx/static/images,我们利用context:path.resolve(__dirname, '../src')过滤掉了src文件名,那么path的值就是/xxx/static/images,这样配置name,图片就打包到我们的动态文件夹里面了。

    展开全文
  • 但是后来项目越来越多,维护起来相当费力,就打算所有页面合并到一个项目,即使这些个静态页面没有关系。我目录结构大概是这样: static下文件(图片、视频、字体等)一律不做处理直接拷贝,但是这么做...

    由于业务需求,要做好多的静态页面,起初为了提高代码的兼容性,做了脚手架去开发页面,提高代码的兼容行和开发体验。但是后来项目越来越多,维护起来相当费力,就打算把所有页面合并到一个项目里,即使这些个静态页面没有关系。我的目录结构大概是这样:

    static下的文件(图片、视频、字体等)一律不做处理直接拷贝,但是这么做css中背景图片怎么打包呢?我使用了file-loader插件。但是开始的配置只能把背景图片打包到dist文件夹下,我想要的是每个页面应用的文件都打包到对应的页面文件夹里面,页面是可增可改的,路径大概为:dist/xxx/static/images/img.png.但是file-loader的name是写死的啊,打包的逻辑里面怎么获取文件夹名字呢?

    {
                    test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
                    include: [config.srcPath],               // 在源文件目录查询
                    exclude: /node_modules/,    // 忽略第三方的任何代码
                    use: [{ // 图片文件小于8k时编译成dataUrl直接嵌入页面,超过8k回退使用file-loader
                        loader: 'url-loader',
                        options: {
                            limit: 8192, // 8k
                            name: 'images/[name].[hash:7].[ext]', 
                            fallback: 'file-loader',  // 当超过8192byte时,会回退使用file-loader
                      
                            publicPath: '/' //采用根路径
                        }
                    }]
                },

    后来发现可以利用file-loader的path和context解决我的问题,修改过的代码是这样子:

    {
                    test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
                    include: [config.srcPath],               // 在源文件目录查询
                    exclude: /node_modules/,    // 忽略第三方的任何代码
                    use: [{ // 图片文件小于8k时编译成dataUrl直接嵌入页面,超过8k回退使用file-loader
                        loader: 'url-loader',
                        options: {
                            limit: 8192, // 8k
                            name: '[path]/[name].[hash:7].[ext]', // 利用[path]路径获取文件夹名称并设置文件名
                            fallback: 'file-loader',  // 当超过8192byte时,会回退使用file-loader
                            context: path.resolve(__dirname, '../src'),//过滤掉[path]的相对路径
                            publicPath: '/' //采用根路径
                        }
                    }]
                },

    此时的path是相对路径,它的值应该为/src/xxx/static/images,我们利用context:path.resolve(__dirname, '../src')过滤掉了src文件名,那么path的值就是/xxx/static/images,这样配置name,图片就打包到我们的动态文件夹里面了。

    参考链接:https://blog.csdn.net/qq_36800701/article/details/84872672

    转载于:https://www.cnblogs.com/zhangbob/p/10978521.html

    展开全文
  • 思前想后也找不到原因,最后还是google了半天才找到问题:之前为了方便一个200M左右sdk直接添加到了项目,然后提交到git上了,更可怕是sdk还换了好几个版本提交了好多次。。。所以git中就有N多这个sdk修改...

    最近碰到个很难办的问题,无意中发现项目文件夹已经快1G了。。。

    仔细一看,原来是.git文件夹占了80%。。。

    思前想后也找不到原因,最后还是google了半天才找到问题:

    之前为了方便把一个200M左右的sdk直接添加到了项目里,然后提交到git上了,更可怕的是sdk还换了好几个版本提交了好多次。。。

    所以git中就有N多这个sdk修改的记录,占了很大空间;

    为什么会出现这种情况呢,就是因为git的存储方式

    git仓库下有一个名为 .git 的隐藏文件夹 ,从git初始化(git init)开始,所有仓库的变化都会记录在这个.git文件夹中;只要是git记录的文件(add 并且 commit),就会通过一定的算法保存到这里,

    删除一个文件,只是记录了删除这个操作,但并不会把文件从.git文件夹删除。

    所以直接删除项目中的文件,.git文件夹完全不会变小(理论上还会变大一点,因为多记录了一次删除操作。。。)

    要想彻底删除git已经记录的文件,就必须用到一个高端命令:git filter-branch

    官方解释可以看这里:

    具体怎么使用可以参考这两篇博客:

    具体到我这儿,因为我添加了 XXX.framework的库,所以命令就是:

    git filter-branch --force --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch XXX.framework' --tag-name-filter cat -- --all

    各个参数的意思摘抄如下

    filter-branch 是让git重写每一个分支,

    --force 假如遇到冲突也让git强制执行,

    --index-filter 选项指定重写的时候应该执行什么命令,要执行的命令紧跟在它的后面,在这里就是git rm --cached --ignore-unmatch password.txt ,让git删除掉缓存的文件,如果有匹配的话。

    --prune-empty 选项告诉git,如果因为重写导致某些commit变成了空(比如修改的文件全部被删除),那么忽略掉这个commit。

    --tag-name-filter 表示对每一个tag如何重命名,重命名的命令紧跟在后面,当前的tag名会从标注输入送给后面的命令,用cat就表示保持tag名不变。

    紧跟着的-- 表示分割符,

    最后的--all 表示对所有的文件都考虑在内。

    等命令执行完了,要提交到远程再

    git push --force --all

    就可以了

    在实际操作中,我还遇到点其他问题,一并记录下来~

    因为XXX.framework其实是个文件夹,所以在 rm 命令之后必须 加上 -rf 参数,不然其实会漏删不少东西

    命令里面的 --all 似乎不怎么管用,至少对分支是不管用的,(博客1里面说是对所有分支。。。貌似有点问题)

    一开始我项目有好几个分支,我直接在master上操作,完了之后push,结果.git文件夹确实有变小,但变小的很有限。。。

    后来我把其他的分支备份出来,然后删掉项目里的所有分支,只剩下master,再来了一遍,果然就可以了,远程仓库果然变小了超级多

    本地的.git文件夹依然没啥变化,这是因为有很多本地缓存,重新git clone远程就好了

    git push --force --all其实也是个很危险的操作 ,再执行这个之前,务必确保当前代码已经是最新,并且你开始操作后没有人提交过代码,

    不然这么一force,有一大片冲突是必然的。。。不说了,说多了都是泪。。。

    教训:

    sdk之类的大文件,尽量不要直接添加到git中,如果sdk不经常更新且不太大(多大算大多大算小看各自网速了),那直接添加进去问题也不大;

    如果sdk比较大或者经常更新,那就真的注意不能玩git里面加了,目前想到的比较好的替代方案有:

    把sdk写到.gitignore中,在readme等地方写清楚,项目用到了什么sdk,让用的人自己去下载;

    这个方法比较容易实现,不过对用的人来说不太友好。毕竟除了直接复制粘贴,直接git clone的代码是不能直接用的。。。

    用pod来管理

    一般来说pods是不会放到git里面的,都是用的时候再pod install;所以可以给项目用到的sdk之类的大文件,专门建一个pod库,让项目通过pod依赖这些大文件。

    这也是我现在用的方案,效果还是很不错的~

    再加上pod还可以配置一些依赖库(方法可以参考https://github.com/Phelthas/LXMThirdLoginManager ,关键是.podspec文件),那就更加方便了!强烈推荐!!!

    有什么问题,欢迎讨论~

    展开全文
  • 但是我也收获了好多的失败经验,又熟悉了以前不怎么Linux命令。 Linux命令 : wget 下载解压包 tar 解压 mv 移动/重命名 cp 复制 mkdir 创建文件夹 ps 查看进程 kill 杀死进程 make 编译 cd 进入文件夹 ll ls...

    从昨天开始到今天 刚刚把环境搭建好。但是我也收获了好多的失败的经验,又熟悉了以前不怎么用的Linux命令。
    Linux命令 :

    1. wget 下载解压包
    2. tar 解压
    3. mv 移动/重命名
    4. cp 复制
    5. mkdir 创建文件夹
    6. ps 查看进程
    7. kill 杀死进程
    8. make 编译
    9. cd 进入文件夹
    10. ll ls 查看文件
    11. chmod 修改权限
    12. chown 修改文件用户 用户组
    13. groupadd 添加用户组
    14. useradd 添加用户

    PS: https://blog.csdn.net/mxdzchallpp/article/details/82867681 这个链接里面的说的内容基本的都是对的,如果自己也想试试可以看一下。

    ps: 里面如果不想重新编译PHP扩展可以用这个命令
    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --enable-mbstring --with-openssl --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pear --enable-sockets --with-freetype-dir=/usr --with-zlib --with-libxml-dir=/usr --with-xmlrpc --enable-zip --enable-fpm --enable-xml --enable-sockets --with-gd --with-zlib --with-iconv --enable-zip --with-freetype-dir=/usr/lib/ --enable-soap --enable-pcntl --enable-cli --with-curl

    这个命令最后在configure 会有 mysql 拓展的警告 但是 mysql拓展在PHP7早就已经废弃掉了。可以忽略掉。

    展开全文
  • 我实现了文件上传功能,上传到文件夹里面,但是我想实现这些文件管理,比如说列表这些文件供下载,然后可以删除文件,请问应该如何实现?~~~找了好多资料…… 我想过上传文件信息存到数据库里面,但是...
  • 首先打开前一晚文档所在的文件夹,工具--文件夹选项--查看,在“隐藏文件和文件夹”这一栏,选中“显示所有文件和文件夹”(最好也上一栏“隐藏受保护的操作系统文件(推荐)”前的对号也去掉),可以看到出现了好多...
  • 将手机连接到电脑上的那一刻,打开DCIM文件夹一看,里面好多如下图的文件夹; 但是我想这些文件夹里面的 照片、视频 等文件全部保存到一个文件夹,怎么快速简单的实现呢? 下面我们一起来看一下,怎么用 Python ...
  • 找了网上的资料,发现好多要创建一个新的文件夹然后项目加入到文件夹里,个人觉得很繁琐且不懂得到底该怎么操作。一来,文件的进进出出会带来不必要的空间浪费,二来是由于本人记性太差经常忘记怎么...
  • 可是打开电脑硬盘才发现,模型文件有好多种,.hfss .aedt .m文件等,文件夹里还有子文件夹,子子文件夹,还要逐个跳过仿真解文件。我这么懒怎么可能干这种重复性劳动手动活呢? 于是我就想,用MATLAB查找...
  • 文件删除求助

    2020-08-30 12:55:12
    我今天卸载了流星加速器后发现盘里还有个文件夹,想删却怎么都删不掉,里面的文件我打开属性里的安全啥都看不了。 然后我网上看了好多教程,在一级文件夹的属性里操作,更改权限所有者,everyone,administrator,...
  • 1. 有时候我们需要在使用ADT命令...我查阅了好多资料才发现并不是我们没有安装文件放到 platform-tools文件夹里面我们可以用div命令看看我们adb安装文件夹如下 上面这个目录在如下文件 如果我...
  • 手把手教你本地代码上传到GitHub注册/登录下载Git创建本地文件夹提交本地文件夹里的代码到本地仓库提交本地仓库到GitHub将本地数据库提交到GitHub 本科期间写了好多程序,烂在自己电脑里感觉太可惜了,所以想...
  • 在PHP网页中显示MYSQL数据库内容

    千次阅读 2019-04-06 21:04:47
    最近由于工作需要MYSQL里的内容在网页上显示出来,这怎么能实现呢?? 我也是小白,从网上找了好多源码都不能正常运行,后来找到的内容整理了一下,大家运行成功就给个赞~~ 首先,先建好自己的数据库并且添加...
  • Tomcat实现热加载

    热门讨论 2017-03-05 00:34:54
    我们都知道,只要Web项目放到tomcatwebapps文件夹下,然后启动tomcat,就能够在浏览器地址栏访问我们网站了。 那么这是怎么一回事呢?先从最简单,能看地方说起。  Tomcatserver.xml文件。里面...
  • 我在百度上找了好多文章,里面说都是SpringMVC项目web.xml写错导致,而我项目是SpringBoot,根本没有web.xml!! 那这个问题一定不是web.xml导致!! 但是问题在于,我昨天打的这个war包还是可以正常...
  • 我们还是习惯它改成一个我们自定义的文件夹怎么做呢? 工具/原料 Matlab,txt编辑器 方法/步骤 新建一个.txt文件文件 在其中输入: cd H:...
  • 修改vhost文件里的域名 创建一个数据库 yunos 数据库名称 roor密码 YunPuGouLogins 我教大家怎么看数据库 运营的时候自行修改密码 导入yunos.sql 数据库 打开apache的配置 最后一行修改为IncludeOptional /...
  • vc++ 应用源码包_1

    热门讨论 2012-09-15 14:22:12
    任务管理器应该大家都很熟悉,论坛也有好多的任务管理器源码,解决CListCtr刷新时滚动条跳到开始处。 VC++实现网络连接查看器源码 非常好一个实例,网络连接UDP/TCP都插入到CList控件中显示出来。 VC++...
  • vc++ 应用源码包_2

    热门讨论 2012-09-15 14:27:40
    任务管理器应该大家都很熟悉,论坛也有好多的任务管理器源码,解决CListCtr刷新时滚动条跳到开始处。 VC++实现网络连接查看器源码 非常好一个实例,网络连接UDP/TCP都插入到CList控件中显示出来。 VC++...
  • vc++ 应用源码包_6

    热门讨论 2012-09-15 14:59:46
    任务管理器应该大家都很熟悉,论坛也有好多的任务管理器源码,解决CListCtr刷新时滚动条跳到开始处。 VC++实现网络连接查看器源码 非常好一个实例,网络连接UDP/TCP都插入到CList控件中显示出来。 VC++...
  • vc++ 应用源码包_5

    热门讨论 2012-09-15 14:45:16
    任务管理器应该大家都很熟悉,论坛也有好多的任务管理器源码,解决CListCtr刷新时滚动条跳到开始处。 VC++实现网络连接查看器源码 非常好一个实例,网络连接UDP/TCP都插入到CList控件中显示出来。 VC++...
  • vc++ 应用源码包_4

    热门讨论 2012-09-15 14:38:35
    任务管理器应该大家都很熟悉,论坛也有好多的任务管理器源码,解决CListCtr刷新时滚动条跳到开始处。 VC++实现网络连接查看器源码 非常好一个实例,网络连接UDP/TCP都插入到CList控件中显示出来。 VC++...
  • vc++ 应用源码包_3

    热门讨论 2012-09-15 14:33:15
    任务管理器应该大家都很熟悉,论坛也有好多的任务管理器源码,解决CListCtr刷新时滚动条跳到开始处。 VC++实现网络连接查看器源码 非常好一个实例,网络连接UDP/TCP都插入到CList控件中显示出来。 VC++...
  • 对那些非常菜电脑小菜来说,他都不知道怎么打补丁,绿化过程可以这些步骤都节省掉,当汉化补丁 和破解补丁体积不小时候,通过绿化过程同时也减小了体积。  第七:优化方面:  大多数软件都有.inf等类似...
  • 整个项目经过三天的设计和完善,总算差不多了,基本的功能都通了,可以使用,假条的申请注销都没有问题,包括ajax的调用都很好用,学生信息里的下拉列表是个问题,解决了这个问题也让我想通了聊天室应该怎么用ajax,...
  • (20KB)<END><br>97,twopanes.zip 你有没有想过通用对话框作为你窗口一个View是什么样子?看看这个例子吧。(9KB)<END><br>98,bcmenu21.zip 可以利用工具条资源,绘制图标菜单。(56KB)<END><br>99,MENU4...
  • MAPGIS地质制图工具

    2013-05-06 16:15:30
    第六步:在开始菜单文件夹中创建程序的文件夹名称。点击“下一步”,继续下一步安装; 第七步:选择附加任务:创建桌面快捷方式和快捷启动栏快捷方式,以及Section关联MapGis文件等。勾选所需选项,点击“下一步”,...

空空如也

空空如也

1 2
收藏数 28
精华内容 11
关键字:

怎么把好多文件夹里的文件夹