2016-02-29 180 views
3

我们都知道,在流星1.3,我们得到新的封装结构 有关于如何开始使用流星1.3开始一些教程,例如(?): https://voice.kadira.io/getting-started-with-meteor-1-3-and-react-15e071e41cd1流星1.3模块结构

但我无法找到如何开始使用新模块。将其隔离,导入。毕竟,我的应用程序结构应该如何?

我至今意识到什么,是如何利用现有的NPM模块:

npm init -f

,然后再安装模块和进口在我的代码是这样的:

cloudinary = Npm.require("cloudinary")

如果什么我想用我自己的模块来打破我的应用程序,就像我以前用meteor packages做的那样?在哪里存储以及如何创建?

+0

在1.3你可以使用ES2015语法从NPM模块的导入和使用'NPM install'安装它们。关于您自己的模块,请参阅[本文档来自MDG](https://github.com/meteor/meteor/blob/release-1.3/packages/modules/README.md)。 – MasterAM

+0

这个新的模块架构正好瞄准(与许多其他事情)打破这种构建应用程序的方式。它提供了一个加载客户端的好处,除了控制你的加载顺序外没有太多好处。当您的应用程序开始拥有多个文件时,您最好使用延迟加载并仅导入所需内容,而不是在全局范围内加载所有内容。 – ko0stik

回答

4

1.3中不需要使用Npm.require。现在默认值(1.3 beta.8 +),你只需从任何NPM模块导入你npm install编后:

import something from 'npm-module' 

的组织代码,只是组织你想要的任何方式。没有具体的结构要求。举例来说,如果你有这样的结构:

main.js 
folder/ 
    foo.js 

然后将这些文件可能会像

// main.js 
import something from 'npm-module' 
import foo from './folder/foo' 
console.log(foo) 

// folder/foo.js 
let foo = 'hello' 
export default foo 

这是所有有给它(并假设你想使用ES6模块语法代替CommonJS)。在CommonJS的版本是这样的:

// main.js 
let something = require('npm-module') 
let foo = require('./folder/foo') 
console.log(foo) 

// folder/foo.js 
let foo = 'hello' 
module.exports = foo 
+0

谢谢!怎么样像客户端和服务器的文件夹?他们仍然有效吗? – ZuzEL

+0

是的,仍然有效,因为1.3向后可以与1.2相容。 :} – trusktr