第二个package.json的模式实验室
我有一个Pattern Lab edition-node-gulp设置,并希望使用NPM来管理UI依赖,如jQuery,D3和其他。设置模式实验室,以便在“源”文件夹中进行开发,该文件夹被编译并移动到“公共”文件夹。 Public文件夹的根目录在提供时成为应用程序的根目录。
目前,我手动包含jQuery等资产。我认为在用于运行所有Pattern Lab Node的package.json文件中管理像jQuery这样的依赖项会很棒,但是node_modules文件夹存在于Public之外,所以我不能在实时应用程序中引用它。
到目前为止,似乎我有两个选择:
- 按原样继续,忘记这些资产的包管理。
- 使用jQuery和其他人在Public中创建第二个package.json,这看起来很草率。
正在创建第二个package.json这么糟糕吗?我没有考虑其他选择吗?
回答如下:创建第二个package.json并不是那么糟糕(当你知道你当然在做什么以及如何做)。但是在您的特定情况下,这不是最佳方案,因为有更好的选择。
问题是什么?将资产添加到构建输出。那么,你能做什么:
- 通过
npm install
安装资产并将其保存在原始的package.json中 - 使
gulpfile.js
复制输出目录中的文件。
如果第二步是太hacky /有问题,它也可以用简单的package.json scripts
更改(添加build
脚本):
"scripts": {
"gulp": "gulp -- ",
"build": "npm run gulp && cp -R node_modules/jquery/dist/blablabla.js mypublicdir/blablabla.js"
},
然后将其作为npm run build
运行。如果你需要支持Windows,你可以使用https://www.npmjs/package/cp-cli而不是cp
。