fex-team / fis

Front-end Integrated Solution - 前端集成解决方案, 最新版请进入 FIS3 https://github.com/fex-team/fis3
http://fis.baidu.com
MIT License
2.96k stars 655 forks source link

fis2关于 shtml相关配置问题 #698

Closed MinosIE closed 8 years ago

MinosIE commented 8 years ago

script.html页面内容如下:

<script src='a.js'></script>
<script src='b.js'></script>
<script src='c.js'></script>

index.shtml页面内容如下:

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <h1>hello world!</h1> <!--#include virtual="script.html"--> <script src='index.js'></script> </body> </html>

fis配置如下: fis.config.set('project.fileType.text', 'shtml'); fis.config.get('roadmap.path').unshift({ reg: '**.shtml', isHtmlLike: true }); fis.config.set('settings.postpackager.simple.autoCombine', true); 命令行如下:

spt release -omd ../dist

说一下遇到的问题: index.shtml里面引用的index.js会自动添加md5戳,但是script.html中的js却没有添加。 查看产出目录发现压缩后的css、js已经全部添加了md5戳。 请问,如何配置才可以让script.html中的相关引用也能添加md5戳。 另外,给 shtml添加query。 不知描述是否清晰,请大神解答! 多谢!

hefangshi commented 8 years ago

你是用的是spt而非fis,spt会默认关闭标准化功能。请直接使用FIS。

另外如果是首次接触FIS的同学,请直接移步FIS3。

https://github.com/fex-team/fis3

MinosIE commented 8 years ago

@ hefangshi spt是基于fis封装的 这个不支持吗

hefangshi commented 8 years ago

是封装后的fis,但是他的封装的功能之一就是屏蔽你要的功能

MinosIE commented 8 years ago

@hefangshi 我用了 fis3 release ../dist 还是不行 配置如下,求指点:

fis.match('*.{js,css,png}', {
  useHash: true
});

// 对 CSS 进行图片合并
fis.match('*.css', {
  // 给匹配到的文件分配属性 `useSprite`
  useSprite: true
});

fis.match('*.js', {
  // fis-optimizer-uglify-js 插件进行压缩,已内置
  optimizer: fis.plugin('uglify-js')
});

fis.match('*.css', {
  // fis-optimizer-clean-css 插件进行压缩,已内置
  optimizer: fis.plugin('clean-css')
});

fis.match('*.png', {
  // fis-optimizer-png-compressor 插件进行压缩,已内置
  optimizer: fis.plugin('png-compressor')
});

fis.media('debug').match('*.{js,css,png}', {
  useHash: false,
  useSprite: false,
  optimizer: null
})

fis.set('project.fileType.text', 'shtml');

fis.set('new date', Date.now());
fis.match('**.shtml', {
    query: '?=t' + fis.get('new date'),
    isHtmlLike:true
});
hefangshi commented 8 years ago

fis3 release -d ../dist 你确定你执行对了?

多看看文档吧

MinosIE commented 8 years ago

提问的时候打错了少了 -d 运行的时候确实是 fis3 release -d ../dist

hefangshi commented 8 years ago

直接把项目放到github上吧

MinosIE commented 8 years ago

@hefangshi 做了一个测试的项目 已经上传了 fis的相关配置也写在里面 第一次上传 多指教