0
my file tree
|-  root
|-- gruntfile.js
|-- package.json
|-- lib (jQuery & other)
|-- webapp
|---- App-1
|------- src(app src)
|---------- js
|---------- css
|---------- images
|------- package.json(use to require other modules)
|---- App-2
|------- src(app src)
|---------- js
|---------- css
|---------- images
|------- package.json(use to require other modules)
... ...
|---- App-n

在我的文件系统中,大多数应用程序使用相同的任务。在每个“应用程序”文件中制作 gruntfile 并不容易。那么,我如何在“root”上使用 gruntfile,并在我的“App”文件上使用它?

谢谢~:)

4

1 回答 1

0

除非您的所有应用程序都完全相同,否则请为每个应用程序使用一个新的 gruntfile。我猜您的每个应用程序都会有所不同,因为您已经src在预期中复制了每个应用程序中的文件夹。

我不推荐全局依赖设置。随着时间的推移,您的每个应用程序都会出现分歧,并且您的应用程序数量会增加。当需要升级 jQuery 或root/lib文件夹中的任何其他依赖项时……您将被迫升级每个应用程序

现在的小便利,以后完全不值得了。

相反,只需在本地安装所有内容,然后您就可以根据需要升级每个应用程序,而不会破坏其他应用程序。如果您在应用程序中遇到重复代码,请考虑将其移至模块中。像创建另一个应用程序一样创建您的模块,然后键入npm link以使其可安装。然后在您的每个应用程序中将npm link mymodule您的模块安装到该node_modules/mymodule文件夹​​中。这是一个示例文件树:

my file tree
|-  root
|-- devmodules
|---- mymodule
|------ index.js
|------ package.json
|-- webapps
|---- App-1
|------- src(app src)
|---------- js
|---------- css
|---------- images
|------- node_modules (jQuery & other)
|------- Gruntfile.js
|------- package.json(use to require other modules)
|---- App-2
|------- src(app src)
|---------- js
|---------- css
|---------- images
|------- node_modules (jQuery & other)
|------- Gruntfile.js
|------- package.json(use to require other modules)
... ...
|---- App-n
于 2013-07-19T17:29:37.973 回答