scrat-team / scrat Goto Github PK
View Code? Open in Web Editor NEWWebapp Modular Framework
Home Page: http://scrat-team.github.io/
Webapp Modular Framework
Home Page: http://scrat-team.github.io/
[?] What type of scrat project to init? (Use arrow keys)
webapp
seo
olpm
这几种都是什么,有什么区别?
您好:我在使用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
请问,这个问题怎么解决,谢谢。
可以根据自己的喜好调整配置文件目录结果么?
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
用handlebars可以用__inline预编译后调用tpl渲染模板,那用vue呢?是不是要自己定制呢?
谢谢。
现在引用当前目录下的文件必须这样引用:
var conf = require('./conf.js');
能不能兼容 nodejs 的写法:var conf = require('./conf')
因为 component 生态里面的组件几乎都是 nodejs 的写法,如果某个 component 组件需要引用自身目录下的某个 js 文件,在 Scrat 里引用这个组件的时候就会报错找不到组件需要的那个 js 文件。
问题描述:
我们有个生态组件结构大致如下:
在Windows下安装该组件,直接报错,我调试了下,发现windows下下载组件的zip解压会将目录合并,如下:
进一步调试发现,是因为decompress 0.2.3在windows下有bug:
将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);
}
});
暂时问题解决,请关注下,代码修改有没有问题。
如题...
修改版本之后页面一片空白...也没有报错
排查之后发现define里还是之前的版本号....
例如 请求到了
http://127.0.0.1:5000/c/app/2.0.0/p-index/p-index.js?_hash=41f17c7
但是响应的内容里却是
define('app/1.0.0/p-index/p-index.js'
求解...
scrat确实是个比较理想的解决方案,我想知道是哪个环节不支持ie啊?
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模式下会出现这种情况
支持 AMD 规范的类库(eg:jquery)可以通过手动的方式放入 component_modules 目录吗?就项目改版适合使用 Scart 来构建项目吗,项目里面使用了很多的非模块化组件。
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适用于angularjs的集成发布吗?
有两种办法:
使用 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>
可以把echarts.js放到components目录下,作为一个模块化资源,但是由于echarts使用的是amd规范,没有使用module.exports导出模块,所以在scrat中如果不修改源码,只能利用其在全局释放的echarts变量引用资源。其步骤为:
在components目录下创建echarts目录;
移动 echarts-all.js
为 components/echarts/echarts.js
然后要使用echarts时:
// 在其他模块化js中
require('echarts'); //仅执行factory,echarts会被挂到window上,但是没有导出
var chart = echarts.init(document.getElementById('main'));
var option = { ... };
chart.setOption(option);
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 没有改变。
rt
Scrat在FIS基础上二次开发
我下载了fis的小例子:fis-quickstart-demo
$ scrat release
通过
$ scrat server start
出错
请问是正常的现象吗?
如题:用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是基于以node后端服务器语言开发吗,此外是否还支持像php这类的后端语言,同时如何使用此框架的情况下能否用mvc开发模式,谢谢
1:有支持less的插件吗
2:支持类似fisp的命名空间,目录结构规范吗,这样可以把项目拆成common,index,list等不同的模块并行开发
scrat 安装成功了,scrat release也成功了,但是启动服务时scrat server start没反应
比如scrat server start -D 然后就启动node-dev --debug 或者 node-dev --debug-brk 这样方便和node-inspector一起进行调试。
准备工作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
需要提供更多信息的话,请知会 :)
angular等很多类库, 官方都只提供了bower库
好像 scrat 支持 handlebars 模板, 但是不会用呀! 文档不太详细,请@fouber大神提供例子,谢谢。
在线等回复
scrat只是前端的解决方案,那怎么与其他后端配合,像django(python)中使用模板的继承这些,要怎么配合?开发途中要怎么和后端结合看效果?
pagelet如何使用?
例子里面页面跳转了,但是h1标题里面的内容是没有变化的,
请问是正确的现象吗?
需要刷新一下,内容才显示正确。
在空目录下执行:
$ 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下的模块会不断增加,造成使用上的混乱,批量更新也是一个问题,想知道你们目前是怎样管理和维护工程模块的。
/*
{% script %}
alert(1);
{% endscript %}
*/ 无效,会执行
{% script %}
// alert(1);
// 只能在内部注释?
/* 或者这样注释 */
{% endscript %}
其实都会编译到网页里,只是内容注释了。
调用模块同理注释
{% require "/header/" %}
但是也可以这样注释标签 (单标签)
请问:是否有注释标签对的功能。
mac下安装提示没有权限
我现在遇到一个问题:
我们这边是定制化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') 的时候,引用的是哪个?
RT。
scrat在release时 会有如下目录:
├─conf
├─private
├─public
├─server
└─views
由于一些其他原因,在release时我只需要public目录及其里面的内容,其余的目录都不要。
不知道有没有配置可以达到这个效果
hi
我们在使用scrat发现,mac下livereload会出现修改代码后偶尔不会刷新页面,window&ubuntu没有问题
将livereload从2.0.8升级到2.2.1,问题解决
现在项目release出来的页面都是.tpl结尾的,而且不能直接打开。
本地有安装 WampServer 。
能否发布出来能用 WampServer 打开的页面。
PHP程序员所要看到页面才能套变量。后台是用ThinkPHP。
他们说 现在导出来的东西很麻烦,也看不懂。
我们的是PC项目。
proto.load 方法中:
tid = setTimeout(onerror, (options.timeout || 15) * 1000),
会报参数无效错误
我将下面的onerror函数搬到前面来声明即可解决
版本号不支持 ^ 匹配等
问题如下:
我们使用scrat发布资源,编译后的所有资源都是使用绝对定位,这也是fis资源定位的重要能力
但我们h5资源是放在app本地加载的,使用file://定位资源,但得到的路径变为file:///文件位置,由于这里多了个/,导致资源定位失败
我觉得这个不是bug,更多是我们使用的方式不同,请问对于这样的使用方式,有没有好的解决方案
有现有的跟后台交互,请求/响应与数据处理例子吗
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.