我是meteor + angular的新手,我正在从http://www.angular-meteor.com/
学习当我到达3向数据绑定部分并在社交文件夹中创建名为collections的文件夹并创建名为parties.ts的文件时,它给出了我在该文件中的两行后写的错误。
import {Mongo} from 'meteor/mongo';
export let Parties = new Mongo.Collection('parties');
这是错误日志。
C:\<user>\AppData\Local\.meteor\packages\meteor-tool\1.3.2_4\mt-os.windows.x86_32\dev_bundle\server-lib\node_modules\fibers\future.js:245
throw(ex);
^
Error: A method named '/parties/insert' is already defined
at packages/ddp-server/livedata_server.js:1548:15
at Function._.each._.forEach (packages/underscore/underscore.js:113:1)
at Server.methods (packages/ddp-server/livedata_server.js:1544:7)
at packages/allow-deny/allow-deny.js:191:24
at [object Object].CollectionPrototype._defineMutationMethods (packages/allow-deny/allow-deny.js:190:5)
at new Mongo.Collection (packages/mongo/collection.js:226:8)
at meteorInstall.collections.parties.js (collections/parties.ts:2:22)
at fileEvaluate (packages/modules-runtime/.npm/package/node_modules/install/install.js:141:1)
at require (packages/modules-runtime/.npm/package/node_modules/install/install.js:75:1)
at collections/parties.ts:2:54
Exited with code: 8
Your application is crashing. Waiting for file change.
我希望我会得到这个社区的帮助。感谢。
答案 0 :(得分:1)
问题可能是某些时候类型脚本可能无法正确编译到js中。尝试删除该文件夹中的js文件,编辑您的打字稿文件并保存。下一次重新编译应该删除此错误。
答案 1 :(得分:1)
我遇到了同样的问题并成功修复了它。我还使用Atom和Atom TypeScript插件,该插件自动将TypeScript文件编译为与Meteor分开的JavaScript并创建不必要的文件。
以下是我为解决问题所采取的步骤:
检查你的tsconfig.json文件并确保它有这些行(必要时添加或更改它们):
&#34; buildOnSave&#34;:false,
&#34; compileOnSave&#34;:false,
关闭并重新启动Atom以确保Atom TypeScript插件使用新设置并停止在保存时自动将TypeScript编译为JavaScript。
删除&#34;客户端&#34;,&#34;服务器&#34;和&#34;中的所有* .js和* .map文件&#34;目录。
如果Meteor当前正在运行(可能是&#34; ctrl-c&#34;或&#34; command-c&#34;,具体取决于您的操作系统),请将其停止。
运行&#34;流星重置&#34;在命令行上。
Run&#34; meteor&#34;在命令行上重新编译TypeScript文件并重新启动Meteor。
在那之后,一切都很适合我。
答案 2 :(得分:0)
我有同样的错误。你有没有弄明白?
我最终解决了我的问题,我不得不添加&#34; compileOnSave&#34;:false&#34;到我的tsconfig文件。我正在使用Atom并且它正在自动编译。