2017-10-16 38 views
2

以前我会在服务器端使用NPM,在前端使用Bower。 NPM将安装到node_modules/目录,我有一个.bowerrc这些包安装到public/lib如何为后端和前端使用一个包管理器? (Yarn/NPM)

现在我已经开始用纱线,而不是NPM;并且因为它们几乎是1:1兼容,所以它一直是一个平稳的变化..但是,现在我想知道如果我可以沟渠鲍尔,只是使用纱线的一切。但我没有看到一种方法(在NPM或Yarn中)将常规软件包安装到node_modules,但是然后有一种单独的选项来放置一些软件包在public/中......类似于--dev选项的东西,但相反它将是yarn add jquery --public 。有这样的事吗?

当然,一种选择是将所有软件包安装到public/目录,但我认为这是一个不好的做法(纠正我,如果我错了)。

另一种选择可能是在public/文件夹中有一个单独的package.json文件夹,并在其中为前端程序包运行单独的Yarn命令,但我认为这样做有点不方便;更容易出错。

+1

我个人从后端文件夹分开公用文件夹和分别管理的依赖关系。这将使您更好地了解每个'项目'的依赖关系。 – Abdel

+0

如果您使用grunt/gulp等构建工具来连接/缩小您的东西,那么您可以使用npm进行安装,并将您的grunt配置指向'node_modules'。 –

回答

3

的规范几乎是一样的东西:

  1. 通过yarn
  2. 安装软件包使用任务运行如gulp,或模块加载&打捆如webpack创建你所需要的包。
    • 这一切都取决于你的堆栈,显然有其他人,例如在过去,我已经使用.NET的本地捆绑,你可以实现与gulp/webpack一样...再次这是给你的决定。

它的要点是,(使用包管理安装在一个中心位置的所有模块,然后 具有装载机或其它工艺抓斗和移动所需资产到您需要使用它们的位置。

我建议你在看看一个kickstart项目(与您使用的堆栈),例如:我用: 与成功的过去Fountainjs,或可考虑Yeoman如果喷泉犯规打你看中

在伪指令(FYI喷泉是建立在约曼的顶部。):

1. yarn install  /// installs all assets 
2. gulp build  /// cleans out current public folder, bundles & copies new 
3. gulp serve  /// runs your app