2016-11-30 69 views
0

我正在学习如何使用Gulp进行网站开发,并成功地将其设置为优化我的资产以用于生产网站。我的文件夹结构是这样的:设置吞咽时我在哪里存储第三方插件?

|- app/ 
    |- less/ 
    |- img/ 
    ... 
    |- plugins/ 
|- dist/ 
|- node_modules/ 
|- gulpfile.js 
|- package.json 

所以目前我的插件是在/app文件夹中,而整个网站在/dist正在编制进行生产。我能想到的两个选项:

  1. 移动/plugins文件夹中的文件夹/app外面,但是.htmldist文件夹内的文件将在此情况下,链接到dist外部的文件(如../plugins/...),这似乎并不逻辑。
  2. 复制整个plugins文件夹每次我编译项目与gulp build这似乎需要一段时间。不知道这是否是一个正确的做法。

任何意见,将不胜感激。

+0

你是说Gulp插件还是其他什么? – MaxArt

+0

你正在编译插件文件夹吗? – maheshiv

+0

@MaxArt,我的意思是第三方插件,我也使用像航点,一些图标库等 – sdvnksv

回答

0

我有点惊讶,我无法在他们的文档中找到这个,但第三方插件应该使用npm进行管理。

“故宫安装插件--save名”

可以说,您可以使用--save-dev的标志,而不是

编辑

至于第三方客户方库,你仍然可以使用npm,但有些人更喜欢使用凉亭或其他工具。

通常认为最佳做法是不要进一步缩小第三方脚本,而是将它们留在node_modules中并使其可用,将它们复制到dist文件夹或将它们与您的其他文件合并为适合您的要求。

至于如何让index.html知道在哪里可以找到它们,这与其他文件的做法是一样的,取决于您的工作流程。一些人通过服务器上的一个函数来提供他们所有的脚本,这些脚本或者提供了一个连接并缩小的生产文件的位置或者一个单独的源文件的数组,并且适当地为每一个渲染脚本。

+0

因此,如果我,例如,想在我的项目中使用猫头鹰旋转木马,我运行'npm install --save owl-carousel' ,那么我的index.html如何知道它必须加载owl.carousel.min.js? – sdvnksv

+0

您在dist目录中使用Gulp复制库。但是您可能想要利用它作为Node模块的可用性,使用'require'和像Browserify或Webpack这样的打包器。 – MaxArt

+0

啊,我看到你在谈论第三方客户端javascript。我以为你在谈论一些插件。我会修改。 – Paul