Tag: keystonejs

如何用URL中的别名replace对象ID

我刚刚安装了keystone.js并构build了基本的站点。 但是我注意到,URL包含长度为24的mongoDB ID,看起来很丑。 任何想法,我怎么能改变它。 http:// localhost:3000 / keystone / users / 56ed6816491debf405f99be1 http:// localhost:3000 / keystone / posts / 56ed086c4b4ba4f8044bbbe1 我希望它是像http:// localhost:3000 / keystone / users / enraiser http:// localhost:3000 / keystone / posts / my-first-post

Keystone.js:在多个站点中使用一个模型

我需要使用Keystone.js(站点networking)创build多个站点。 我有一个参考集合,应该在每个站点上使用它作为与其他networking站点中的模型的关系。 这就像在所有networking的网站上使用的通用标签列表。 希望你明白我的意思。 对不起,我的英语不好。

使用Keystone.js中的描述发布显示图库图像

我是Keystone.js和Mongodb / nodejs开发的新手,但我已经喜欢它了。 我试图改变梯形图中的默认画廊行为,以添加一个名称和描述,因为“Types.CloudinaryImages”似乎不允许它在画廊中的每个图像。 正如图像库中使用keystonejs上的CloudinaryImage标题所示,我添加了一个新的“图像”模型,并修改了我的主页(应该显示图库的地方)的路线。 查询控制台日志时,查询确实会检索图库并填充到图像的链接,但是我的代码显示它们时出现错误。 图库模型 var keystone = require('keystone'); var Types = keystone.Field.Types; /** * Gallery Model * ============= */ var Gallery = new keystone.List('Gallery', { map: { name: 'name' }, autokey: { from: 'name', path: 'key', unique: true }, }); Gallery.add({ name: { type: String, required: true }, published: {type: Types.Select, options: […]

Keystone不能隐藏x-powered-by

我正在尝试删除node.js并用expressjs命令来表示x-powered-by,但是它们不起作用。 以下是我在其他项目中使用的命令 app.disable('x-powered-by'); 要么 app.set('x-powered-by', false); 是否有另一种方式在keystonejs中做到这一点?

通过Keystone中的用户对象ID或作者过滤post

我试图创build一个networking应用程序,学生可以在线存储他们的笔记。 所以,如果他们login,他们只能看到他们发布在博客上的笔记。 view.on('init', function (next) { Post.model.findOne() .where('_id', User.id) .populate('author') .exec(function(err, results) { locals.data.posts = results; }); }); 这是我有问题的代码

将一个createdBy字段添加到keystone.js中的用户模型中

我将“createdBy”字段添加到模型中,但是它允许pipe理员将所有用户选为“createdBy”用户。 我希望这个字段自动填充当前login的pipe理员,似乎无法使其工作。 理想情况下,这不会出现在用户界面中,而只是在用户保存时才被存储。 User.add({ name: { type: Types.Name, required: true, index: true }, email: { type: Types.Email, initial: true, required: true, index: true }, company: { type: String, required: true, index: true, initial: true }, phone: { type: String, required: true, index: true, initial: true }, password: { type: Types.Password, initial: true, required: true }, […]

网站部署到Azure keystone.js时出错

我正在尝试将在Node.js中构build的普通keystone.js初学者应用程序部署到Azure网站的Shared Tier。 部署后出现错误 The page cannot be displayed because an internal server error has occurred. 我认为这可能是因为主服务器文件被称为keystone.js所以我把它重命名为index.js 。 这没有解决它。 接下来,我认为这可能是一个问题,因为keystone默认为端口3000,所以我在我的index.js文件中添加了端口信息。 这里是: // Simulate config options from your production environment by // customising the .env file in your project's root folder. require('dotenv').load(); // Require keystone var keystone = require('keystone'); // Initialise Keystone with your project's configuration. // […]

keystoneJS将不会运行默认的CSS

所以我创build了一个漂亮的默认keystoneJS项目,第一个出现的错误是,当本地运行的网站的默认CSS不会加载。 它正在寻找site.min.css,但在文件夹中只有site.scss 在我通过sublime text 2 sublimeBuild编译scss之后,把文件重命名为site.min.css(来自site.css),它运行的很好,但是我担心的是为什么默认安装会出现这个错误。 我应该在哪里改变这个? 是否有一个scss生成器,所以我必须改变文件夹命名还是有一些其他问题? 我的猜测是,它有一些跳过的步骤。 我记得keystone的安装问我是否想用sass,所以我想所有的东西都应该没问题。 问题是因为我没有使用咕噜声? 我记得在某处读到,运行服务器时必须使用这个grunt工具而不是节点,并且在我的文件夹中看到一个Gruntfile,但是当安装grunt-cli时,grunt只是加载并终止服务器。

如何将Keystone.JS添加到现有的Express.js应用程序?

我已经在github上看到了这一点,并在入门指南中的这一部分 。 但我不能让pipe理员显示( localhost:3000/keystone返回404) 我只想要能够访问pipe理和编辑数据。 所以我只是在我的app.js中添加了以下内容 var keystone = require('keystone'); keystone.set('app', app); keystone.set('mongoose', mongoose); keystone.init({ 'name': 'project', 'auth': true, 'user model': 'user', 'mongo': process.env.MONGOLAB_URI || dbConfig.url, 'session': true, 'cookie secret': 'loUGL*gbp98bPIUBI*UY' }); keystone.import('models'); keystone.routes(app); 我正在使用节点0.12 +和Express 4。 感谢您的帮助

如何在KeystoneJS上传S3文件

我有一个称为风格的项目有2个属性,其中一个具有原始的CSS文本,另一个具有S3File 。 Style.add({ … css: { type: Types.Code, language: 'css' }, cssFile: { type: Types.S3File, s3path: 'uploads/assets', }, … }); 我想用css文本的内容来更新S3File 。 function uploadCSStoAmazon(style) { // Store css code in temporal file (with a md5 name) var rndm = crypto.randomBytes(20).toString('hex'), file_path = '/tmp/css_temp_' + rndm + '.css'; fs.writeFile(file_path, style.css, function(err) { if(err) { return console.log(err); […]