我在我的每个项目中都使用了一些名为"helpers.scss"
,"helpers.js"
和"consolerules.js"
的文件。当我正在处理一个项目时,我正在修改其中一个文件,例如我将添加一个函数,用于将字符串中的所有字符串替换为"helpers.js"
,但是当我打开其他项目时,我没有那个功能。
或者我会在另一个项目的helpers.scss
中添加一个帮助程序css类,而我在其他项目中没有它。
什么是最好的方式,所以当我在其中一个项目中编辑它们时,我可以始终保持同步?我在想bower,gists,git,dropbox,google drive等等...
答案 0 :(得分:0)
您可以使用git(或任何现代VCS)执行此操作;我假设您正在为代码使用某种VCS。 如果你有一个在git中管理的项目,你甚至可以添加多个遥控器,这样你就可以从多个来源中提取代码。
如果您使用的是像git这样的VCS,那么只要您想要同步就可以git pull <remote ref> <branch ref>
。
否则,对您的问题的评论提供了一些替代方案。
答案 1 :(得分:0)
我用两种方法来处理这些:
获取类似服务器的CDN
拥有这些文件的单个版本并将它们放在服务器上。例如,您可以使用以下网址:
https://cdn.example.com/css/helpers.css
https://cdn.example.com/js/helpers.js
如果你想支持版本(也许你应该?),你可以将其添加到文件名:
https://cdn.example.com/css/helpers-1.3.css
https://cdn.example.com/js/helpers-1.2.js
如果您将所有文件视为具有一个通用版本,请转到路径:
https://cdn.example.com/1.2/css/helpers.css
https://cdn.example.com/1.2/js/helpers.js
如果您想在现场网站上使用该版本之前测试具有最新版本的网站,则版本控制非常有用。
如果你能以这种方式实现它,这肯定是最简单的方法。现在,您的所有其他网站都将使用这些网址而不是本地版本的文件:
<link type="text/stylesheet" href="https://cdn.example.com/1.2/css/helpers.css"/>
在构建时提取这些文件
根据您组织网站的方式(从您的问题中确实不清楚)并假设您的计算机上有原始来源的文件夹,您可以根据需要使用您上传之前运行的脚本引入这些文件你的网站。
就我而言,我喜欢分三步完成:
这样做的一个原因是生成一个构建文件夹,其中包含您想要的内容,验证它,然后将其发送到您的服务器。只有在编写脚本时才会进行验证。完成后,不需要任何额外的工作。
所以...获得这样一个脚本的一个原因是我可以编译我的文件。例如,如果您编写PHP代码,服务器只需要代码的压缩版本最多(除非您正在调试并需要查找行号...)生成构建文件夹的脚本可以执行以下操作:
for p in php/*.php
do
php -w $p build/$p
done
现在,您服务器上的PHP代码可能会小20%。
同样,您可以复制helper.css
文件,如下所示:
cp ../helper-project/css/helper.css build/public_html/css/.
这会将helpers.css文件复制到您的构建文件夹。由于它从唯一 ../helper-project
文件夹中抓取该文件,因此您最终会获得最新文件。
而不是简单的cp
命令,您也可以同时最小化该文件:
cleancss --remove-empty ../helper-project/css/helper.css > build/public_html/css/.
这里唯一的问题是,如果你对helper-project进行了更改,它将不会自动更新所有项目。您仍然需要在每个项目中执行并运行生成构建文件夹的脚本并将其复制到您的服务器。然而,我发现这是一种实用的做事方式,因为这样我知道何时进行更新,我可以在投入生产之前测试生成的网站,一旦我更新了生产网站,我就可以验证它是仍然都工作得很好。