Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

您好 我写了如下一段代码 #39

Open
w2230030100 opened this issue Jun 10, 2015 · 30 comments
Open

您好 我写了如下一段代码 #39

w2230030100 opened this issue Jun 10, 2015 · 30 comments

Comments

@w2230030100
Copy link

fis.config.set('roadmap.path', [
    {
        reg: /^\/components\/(?!lib\/).*\.js$/i,
        isMod: true,
        release: '${statics}/$&'
    }, {
        reg: /^\/.*\/page\/(.*)$/i,
        useCache: false,
        release:"${templates}/$&"
    }, {
        reg: /^\/common\/widget\/ui\/library\/(.*)/i,
        release: false
    },
    {
        //一级同名组件,可以引用短路径,比如modules/jquery/juqery.js
        //直接引用为var $ = require('jquery');
        reg: /^\/.*\/(widget)\/(?!lib\/)(.*)\.(js)$/i,
        //是组件化的,会被jswrapper包装
        isMod: true,
        release: '${statics}/$&'
    },{
        reg: /^\/.*\/(static)\/(.*)\.(js)$/i,
        //是组件化的,会被jswrapper包装
        isMod: true,
        release: '${statics}/$&'
    },
    {
        //less的mixin文件无需发布
        reg: /^(.*)mixin\.less$/i,
        release: false
    }
    //, {
    //    //其他css文件 ///^\/(?!fa|plugin)(.*)\.(css|less)$/i, 非某个文件夹的正则
    //    reg: /^(.*)\.(css|less)$/i,
    //    release: '${statics}/$&'
    //}
    , {
        //前端模板
        reg: '**.tmpl',
        //当做类js文件处理,可以识别__inline, __uri等资源定位标识
        isJsLike: true,
        //只是内嵌,不用发布
        release: false
    }, {
        reg: /.*\.(html|jsp|tpl|vm|htm|asp|aspx|php)$/,
        useCache: false
    }, {
        reg: "README.md",
        release: false
    }
    //, {
    //    reg: "**",
    //    release: '${statics}/$&'
    //}
].concat(fis.config.get('roadmap.path', [])));

其中配置了这一段

{
        reg: /^\/common\/widget\/ui\/library\/(.*)$/i,
        release: false
}

虽然配置了 但是为什么我现在文件目录下的/common/widget/ui/library/xxx的文件还是被release了呢

@2betop
Copy link
Contributor

2betop commented Jun 10, 2015

应该是被你的第一条规则命中了。然后就不会管下面的规则了,调下顺序吧!

@w2230030100
Copy link
Author

@2betop 哪一条 page那个吗

@2betop
Copy link
Contributor

2betop commented Jun 10, 2015

不好意思,看错了,我把 common 看成 components 了,我再瞧瞧

@w2230030100
Copy link
Author

@2betop 还有受累请问下rewrite的规则 我想从根开始匹配
但是我发现这样写就是可以访问到的

rewrite ^\/i\/(.*)$ /kelepc/page/i/$1

但是我想从根开始算的时候 比如这样

rewrite ^\/(.*)$ /kelepc/page/$1

就不行了 页面一直菊花不动

@2betop
Copy link
Contributor

2betop commented Jun 10, 2015

这样呢?

rewrite ^\/(.+)$ /kelepc/page/$1

@w2230030100
Copy link
Author

@2betop 还是菊花😭

@w2230030100
Copy link
Author

@2betop 我把所有的path设置都删了 就留下一个针对/common/widget/ui/library/xxx路径的配置 还是不行 到底为什么呢

@w2230030100
Copy link
Author

我看jello源码没有对path进行过设置 但是为什么会酱紫

@2betop
Copy link
Contributor

2betop commented Jun 10, 2015

没分析出来。规则太多,就留那一条试试呢?

@w2230030100
Copy link
Author

@2betop 不行 留下单条针对/common/widget/ui/library/xxx路径也不行

@w2230030100
Copy link
Author

@2betop 貌似所有文件必须release 我简单的针对一个文件夹设置了release:false然而却都被编译出来了

@2betop
Copy link
Contributor

2betop commented Jun 10, 2015

你整理成一个简单的 demo 然后发出来吧。

@w2230030100
Copy link
Author

这样jello-demo的项目就可以用 把所有的demo下的文件夹除了components文件夹全部删掉
然后把fis-conf.js里的内容全部删掉替换成这个

fis.config.set('roadmap.path', [
    {
        reg: /^\/components\/(.*)$/i,
        release: false
    }
].concat(fis.config.get('roadmap.path', [])));

然后打命令 jello release -w一看便知 依旧把设定了release:false的文件加载了进来

@2betop
Copy link
Contributor

2betop commented Jun 10, 2015

哦,这个问题,貌似跟最近的 fis 升级有关,麻烦重装下 jello 试试!

@w2230030100
Copy link
Author

image
大神知道这个是什么情况吗 每次npm都出这个

@2betop
Copy link
Contributor

2betop commented Jun 10, 2015

如果不是 mac 系统没关系,如果是 mac 建议还是 sudo 安装一把。

那个是个可选依赖,在 mac 下面才需要安装,现在因为权限问题,安装不成功,所以有个 warn.

@w2230030100
Copy link
Author

@2betop 怎么才能把这个可选依赖装上 每次都出这个 看者好烦人

@w2230030100
Copy link
Author

jello已重装 还是不行 components内的文件还是release了
image

@w2230030100
Copy link
Author

我fis 和 jello都重装了
我刚有细致的看了一遍 目前报错主要是添加-w会出现报错 报错内容就是没有读取fis-conf.js的release:false的配置,导致编译了不该编译的文件报错 release本身并没有输出release:false的文件

@2betop
Copy link
Contributor

2betop commented Jun 10, 2015

好的,这个问题,有点麻烦,等我晚点修复了告诉你!

@w2230030100
Copy link
Author

@2betop 大神辛苦了 就是顺便您知道我刚才发的那个npm的报错咋解决么 困扰我好久了 就是这个东西image

@2betop
Copy link
Contributor

2betop commented Jun 12, 2015

不对,我这测试,是好着的呢?我觉得应该跟最近 fis 更新有关,你重新安装下 jello 试试吧。

@2betop
Copy link
Contributor

2betop commented Jun 12, 2015

BTW: 那个 warn 去不掉,chokidar 在 mac 环境下,需要依赖 fsevent 提高性能。

@w2230030100
Copy link
Author

您尝试加release:false一个带有bootstrap源码的文件夹 就是有less文件的那种
然后尝试下jello release -w看看

@w2230030100
Copy link
Author

@2betop 顺便问下我想尝试给fis写拓展的插件 但是苦于不知道如何下手 请问有教程吗 我想学习下开发这种东西 谢谢

@2betop
Copy link
Contributor

2betop commented Jun 12, 2015

试了,没问题。

image

@2betop
Copy link
Contributor

2betop commented Jun 12, 2015

其实就是简单的 npm 包,你看眼这里: http://fis.baidu.com/docs/dev/plugin.html

@w2230030100
Copy link
Author

为什么我就不行呢 总是说我bootstrap里的一个less文件找不到@XX的变量名
我琢磨我都没编译它怎么出来的

@2betop
Copy link
Contributor

2betop commented Jun 12, 2015

我知道,产不产出跟编译不编译貌似没有关系,release:false 只能做到不产出,但是不能做到不编译。如果要不编译,那得设置 useCompile 为 false, 或者 设置 project.exclude

@w2230030100
Copy link
Author

@2betop 赞 果然是这个问题 谢谢 但是为什么我fis里这样设置就过了呢 太奇怪了= =!
话说设置project.exclude哪里设置

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants