GithubHelp home page GithubHelp logo

scrat's People

Contributors

atian25 avatar chemdemo avatar danielwlam avatar fouber avatar hillmanchen avatar hinc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

scrat's Issues

npm install -g scrat 报错

您好:我在使用scrat安装时候报下面错误:

npm ERR! Error: version not found: [email protected]
npm ERR! at /usr/local/lib/node_modules/npm/lib/cache.js:846:12
npm ERR! at saved (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/get.js:148:7)
npm ERR! at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:133:7
npm ERR! at Object.oncomplete (fs.js:107:15)
npm ERR! If you need help, you may report this entire log,
npm ERR! including the npm and node versions, at:
npm ERR! http://github.com/npm/npm/issues

npm ERR! System Linux 2.6.32-358.14.1.el6.x86_64
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "scrat"
npm ERR! cwd /root/Desktop
npm ERR! node -v v0.10.28
npm ERR! npm -v 1.4.9

请问,这个问题怎么解决,谢谢。

Window 安装失败

npm WARN optional dep failed, continuing [email protected]
npm WARN optional dep failed, continuing [email protected]
npm WARN deprecated [email protected]: the module is now available as 'css-what'
npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs
\node_modules\npm\bin\npm-cli.js" "install" "scrat" "-g"
npm ERR! node v0.12.5
npm ERR! npm v2.11.2
npm ERR! code ETIMEDOUT
npm ERR! errno ETIMEDOUT
npm ERR! syscall connect

scrat现在适用于vue.js吗

用handlebars可以用__inline预编译后调用tpl渲染模板,那用vue呢?是不是要自己定制呢?
谢谢。

兼容不带 .js 后缀的 require 方式

现在引用当前目录下的文件必须这样引用:

var conf = require('./conf.js');

能不能兼容 nodejs 的写法:var conf = require('./conf')

因为 component 生态里面的组件几乎都是 nodejs 的写法,如果某个 component 组件需要引用自身目录下的某个 js 文件,在 Scrat 里引用这个组件的时候就会报错找不到组件需要的那个 js 文件。

window下安装生态模块,导致目录丢失问题

问题描述:

我们有个生态组件结构大致如下:

1

在Windows下安装该组件,直接报错,我调试了下,发现windows下下载组件的zip解压会将目录合并,如下:

2

进一步调试发现,是因为decompress 0.2.3在windows下有bug:

kevva/decompress#14

将decompress升级到3.0.0版本

node_modules/ares-command-install/lib/package.js修改下载逻辑:

//var reader = fs.createReadStream(ball).on('error', done),
//    writer = reader.pipe(decompress({
//        ext: ext,
//        path: archive,
//        strip: 1
//    })).on('error', done).on('close', done);
//
//function done(err) {
//    //fs.unlinkSync(ball);
//    reader.removeListener('error', done);
//    writer.removeListener('error', done);
//    writer.removeListener('close', done);
//    if (err) {
//        rimraf.sync(archive);
//        return callback.call(that, err);
//    }
//    that.trim(archive, dest, callback);
//}

new decompress({mode: '755'})
            .src(ball)
            .dest(archive)
            .use(decompress.zip({strip: 1}))
            .run(function(error){
                if ( error ) {
                    console.log( error );
                } else {
                    console.log( "ok" );
                    that.trim(archive, dest, callback);
                }
            });

暂时问题解决,请关注下,代码修改有没有问题。

css样式动态修改问题

hi!

最近在使用scrat遇到一个问题,望指教:

比如,由a,b两个模块,对应模块里有与模块同名的css文件

a模块内部 require('b);

动态添加到dom的样式表结构顺序:

<style>b模块的样式表</style> <style>a模块的样式表</style>

这个时候如果使用livereload 修改a模块的css样式(修改b模块的css样式结果一样),导致dom结构变更为:

<style>a模块的样式表</style> <style>b模块的样式表</style>

这个时候,如果模块a b有样式的覆盖关系就乱了,a模块内部可能会有要覆写b模块的样式

请问这种情况能不能解决,另:如果手动刷新页面的话,一切正常,先引入依赖模块的样式,再引入自己样式,顺序是正常的,只是在livereload模式下会出现这种情况

Scrat 的模块加载器可以替换成requirejs吗

支持 AMD 规范的类库(eg:jquery)可以通过手动的方式放入 component_modules 目录吗?就项目改版适合使用 Scart 来构建项目吗,项目里面使用了很多的非模块化组件。

scrat server start 报错

scrat sever clean ,然后 scrat server start 报错了:
dudeMacBook-Pro:public_html du$ scrat server start
➜ server is running

module.js:340
throw err;
^
Error: Cannot find module '/Users/du/.scrat-tmp/www'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3

怎么对项目组件进行测试?

问个比较初级的问题,假设我在components目录下添加一菜单组件(menu目录下),那我要怎么单独测试该组件呢?不知道目前scrat支不支持这样的功能?谢谢~

在scrat中使用echars

有两种办法:

  1. 使用 echarts-all.js ,丢到 views 目录下,views目录存放的都是非模块化资源,等同于传统开发,然后在HTML页面上以全局的方式script src加载echarts即可:

    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <title>Scrat Template Project</title>
    </head>
    <body>
      <div id="main" style="height:400px;"></div>
      <script src="lib/echarts-all.js"></script>
      <script src="lib/scrat.js"></script>
      <script>
        require.config(__FRAMEWORK_CONFIG__);
        require.async('boot', function (boot) {
          var chart = echarts.init(document.getElementById('main'));
          var option = { ... };
          chart.setOption(option);
        });
      </script>
    </body>
    </html>
  2. 可以把echarts.js放到components目录下,作为一个模块化资源,但是由于echarts使用的是amd规范,没有使用module.exports导出模块,所以在scrat中如果不修改源码,只能利用其在全局释放的echarts变量引用资源。其步骤为:

    1. 在components目录下创建echarts目录;

    2. 移动 echarts-all.jscomponents/echarts/echarts.js 然后要使用echarts时:

      // 在其他模块化js中
      require('echarts'); //仅执行factory,echarts会被挂到window上,但是没有导出
      var chart = echarts.init(document.getElementById('main'));
      var option = { ... };
      chart.setOption(option);

less分级编译问题

嗨!

image

如上bootstrap css组件,我只想编译根目录下的bootstrapCss.less,但默认情况下,框架会将该组件目录下的less都进行编译,但子目录由于缺少引用的变量与模块,会报错,这类问题怎么解决

是否有地方配置less编译的目录?

scrat 使用 handlebars 模板如何定位资源 ?

components 目录下有 user.html 、user.handlebars , 这两个文件内容都引用
img src="item_6020003.png" , 在编译后只有 user.html 文件img url 会被替换成 /h5app/1.0.0/img/item_6020003_2a0a5b6.png , user.handlebars 没有改变。

scrat init 执行报错

在空目录下执行scrat init 后报错
error You don't seem to have a generator with the name scrat installed.

全局安装了 generator-scrat 后依旧无效。
重装过 scrat 依旧无效,带上 -c 参数后依旧无效。

执行 yo 后有 scrat 选项,
image
但是选择后执行报错,提示fis不存在,
image

fis之前就安装过且是最新版本。
image

scrat 也是最新版。
image

node路径确定是配置过的,其他的都在跑,不至于说这一个没有配置。

scrat 和 generator-scrat 安装在同一个目录。

系统win2003。
image
node v0.12.0
npm v2.5.1

用npm install -g fis-parser-less安装了less

如题:用npm install -g fis-parser-less安装了less

npm install -g fis-parser-less

fis-conf.js:
fis.config.set('modules.parser.less', 'less')

但是less不编译,是不是那里错了。

我的fis-conf.js
fis.seo();
fis.config.set('modules.parser.less', 'less')
fis.config.set('framework.comboPattern', '/co??%s');

scrat使用场景

你好,我想问一下scrat是基于以node后端服务器语言开发吗,此外是否还支持像php这类的后端语言,同时如何使用此框架的情况下能否用mvc开发模式,谢谢

Scart SEO模式

Scrat-team方便的话在 Scrat SEO 模式里的代码写多点中文注释,如server模块下的 js。

例子较少,注释较少,学习起来较吃力。

可以的话,希望能建一个 scrat 交流群。让使用Scrat的同学能相互交流。

@fouber
@hinc

demo所给地址访问出错

准备工作ready,server start,然后访问下面地址http://127.0.0.1:8082/ 提示错误

Error: ENOENT, stat '/Users/hello/.scrat-tmp/www/public/proj/0.0.1/index.html'

访问这个地址是没错的http://127.0.0.1:8082/index.html

需要提供更多信息的话,请知会 :)

scrat怎么和后端结合

scrat只是前端的解决方案,那怎么与其他后端配合,像django(python)中使用模板的继承这些,要怎么配合?开发途中要怎么和后端结合看效果?

请问seo模式下,pagelet如何使用?

pagelet如何使用?

例子里面页面跳转了,但是h1标题里面的内容是没有变化的,
请问是正确的现象吗?
需要刷新一下,内容才显示正确。

scrat init

问题

在空目录下执行:

$ scrat init

报错:

 error You don't seem to have a generator with the name scrat installed.

文档中说:

执行一下,你就知道,这里就不赘述了。

猜测

我又全局安装了:

$ npm install generator-scrat -g

结果一样。

环境

scrat v0.2.4-14
node v0.10.29

工程模块管理与维护

按照scrat的规范,工程模块放在components目录下,如果header组件需要改版,这时候,是新建一个组件还是在之前组件进行修改?直接修改,会影响其他页面,如果新建组件,components下的模块会不断增加,造成使用上的混乱,批量更新也是一个问题,想知道你们目前是怎样管理和维护工程模块的。

fis-spriter-csssprites v0.3.4 bug

image
这里对于file.isImage的判断有误,应该改为对item的判断

fis官方v0.3.5已修复该bug,希望scrat也升级该插件,谢谢

[FAQ]SEO模式 如何注释{% script %}标签对

无效,会执行

/*
{% script %}
alert(1);
{% endscript %}
*/ 无效,会执行

{% script %}
// alert(1);
// 只能在内部注释?
/* 或者这样注释 */
{% endscript %}
其实都会编译到网页里,只是内容注释了。

调用模块同理注释
{% require "/header/" %}
但是也可以这样注释标签 (单标签)

请问:是否有注释标签对的功能。

release问题

@fouber

我现在遇到一个问题:

我们这边是定制化scrat满足我们的开发要求,现在有这个需求:

执行release命令时,需要把工程的package.json编译到public目录,这样就可以直接访问127.0.0.1:5000/package.json来访问项目工程的信息了

我尝试了以下操作:

在default.js中添加配置:

        {
            reg : /^\/package.json$/i,
            release : '/public/package.json',
            useCache : false
        },
 可以正常访问,但会导致编译的www目录下没有package.json文件,执行server start命令时出错

请问下,对于这样的修改,配置该怎么写?万分感谢

模块加载细节的疑问

scrat的模块主要分为两类:生态模块 + 工程模块,分别对应 component_modules、components目录。对于这里有些疑问:

1、版本:components 生态下的模块是分版本的,比如 jQuery,可能项目同时存在1.9.1、2.0.0。从官方文档来看,引用只需要 require('jquery'),那么,工具是如何确定加载的是哪个版本?

2、重名:假如 生态模块、攻城模块 存在同名的模块,还是以jQuery为例,同时存在 components/jquery、component_modules/jquery,那么,require('jquery') 的时候,引用的是哪个?

livereload 2.0.8下mac偶尔不刷新

hi
我们在使用scrat发现,mac下livereload会出现修改代码后偶尔不会刷新页面,window&ubuntu没有问题

将livereload从2.0.8升级到2.2.1,问题解决

SEO 模式下能导出HTML格式的页面吗

现在项目release出来的页面都是.tpl结尾的,而且不能直接打开。
本地有安装 WampServer 。

能否发布出来能用 WampServer 打开的页面。
PHP程序员所要看到页面才能套变量。后台是用ThinkPHP。
他们说 现在导出来的东西很麻烦,也看不懂。

我们的是PC项目。

scrat.js 对IE9不兼容

proto.load 方法中:
tid = setTimeout(onerror, (options.timeout || 15) * 1000),
会报参数无效错误
我将下面的onerror函数搬到前面来声明即可解决

关于使用file://加载资源

问题如下:

我们使用scrat发布资源,编译后的所有资源都是使用绝对定位,这也是fis资源定位的重要能力

但我们h5资源是放在app本地加载的,使用file://定位资源,但得到的路径变为file:///文件位置,由于这里多了个/,导致资源定位失败

我觉得这个不是bug,更多是我们使用的方式不同,请问对于这样的使用方式,有没有好的解决方案

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.