同一 index.html 线上线下自动引入不同版本 css 和 js。

2017-01-13 07:31:44 +08:00
 happyjohann

6217 次点击
所在节点    JavaScript
37 条回复
happyjohann
2017-01-13 15:01:56 +08:00
@jarlyyn 你这个方案我比较喜欢啊。能告知一下 fileter 具体怎么写么?谢谢
jarlyyn
2017-01-13 15:03:06 +08:00
前端挂个 nginx 反代

加一行

location /
{
sub_filter '/skin/production' '/skin/development;
sub_filter_once off;
}

不久好了么。
happyjohann
2017-01-13 15:04:09 +08:00
@fucker 愿闻其详
happyjohann
2017-01-13 15:07:59 +08:00
@jarlyyn 不错,谢谢。 sub_filter 是字串替换吗?我在想用正则去掉如例子所示的~😄
jarlyyn
2017-01-13 15:12:47 +08:00
@happyjohann

你把开发和生产的直接分两个目录不久好了……

sub_filter 是字符串替换

要正则的话就要用到

nginx_substitutions_filter 这个库了

https://www.nginx.com/resources/wiki/modules/substitutions/
learnshare
2017-01-13 15:14:45 +08:00
happyjohann
2017-01-13 15:49:47 +08:00
@jarlyyn 其实是在构建自己的最佳实践框架,放不同目录的问题是修改代码的时候需要切换文件夹。不过谢谢建议,准备采用两文件夹结构了,毕竟看起来更清爽。
happyjohann
2017-01-13 15:54:25 +08:00
@learnshare 这个 Google 链接就和我自己找一样了。对 gulp 不熟悉所以重点是不知道两个编译任务相关如何构建,甚至都不知道合适关键词,也不具备搜索结果筛选能力😭
jarlyyn
2017-01-13 16:00:34 +08:00
@happyjohann

这是最简单的方法啊。

还有个直接的方法就是把 config.js 做一个 alias

指向 config.js 指向 config.develop.js

相关的配置文件放里面
happyjohann
2017-01-13 16:29:50 +08:00
@jarlyyn 哈哈哈,看来你的配置方法用的比较灵活啊。不过问题是不太具备可移植性。只能在你的机器(服务器或者本地机器),别人的机器没有配置同样的 nginx 配置或者 symbolic link 就搞不定了啊
shengchao
2017-01-13 17:56:45 +08:00
提供一个方案, js 判断 window.location.host 是什么,动态给 index.html 插入 css 和 js 标签。
deleted
2017-01-13 17:58:59 +08:00
模板里写个 if 可行?
happyjohann
2017-01-13 18:58:37 +08:00
@deleted 有思路怎么写吗?
happyjohann
2017-01-13 21:57:41 +08:00
My own solution:

Since Apache is shipped with macOS, so personally I use Apache for development and Nginx for production.

And my apache configuration (the psudo-one since i am using this rule for just one subfolder) is as following:

```apache
RewriteEngine on

RewriteRule ^(.*)(assets/)(.*)$ $1~$2$3 [L,QSA,NC]
```

Sorry for English, currently Chinese input is broken.
deleted
2017-01-14 02:21:01 +08:00
@happyjohann 秀英语
happyjohann
2017-01-14 03:52:08 +08:00
@deleted 人不在国内呀,用学校的电脑是没有中文输入法的
cctrv
2017-01-30 04:44:05 +08:00
.htcaccess 是一個方案。
開發機配置 hosts 也是一個方案。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/334264

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX