Pattern Lab with second package.json

时间:2017-12-21 22:37:51

标签: node.js npm patternlab.io

我有一个Pattern Lab edition-node-gulp设置,并希望使用NPM来管理UI依赖项,如jQuery,D3等。设置模式实验室,以便在“源”中进行开发。文件夹,已被编译并移至“公共场所”。夹。公用文件夹的根目录在提供时成为应用程序的根目录。

目前,我手动包含jQuery等资产。我认为在用于运行所有Pattern Lab Node的package.json文件中管理像jQuery这样的依赖项会很棒,但是node_modules文件夹存在于Public之外,所以我不能在实时应用程序中引用它。

到目前为止,似乎我有两个选择:

  1. 按原样继续,忘记这些资产的包管理。
  2. 使用jQuery和其他方法在Public中创建第二个package.json,这看起来很草率。
  3. 创建第二个package.json这么糟糕吗? 我没有考虑其他选择吗?

1 个答案:

答案 0 :(得分:0)

创建第二个package.json并不是那么糟糕(当你知道你当然在做什么以及如何做)。但是,在您的特定情况下,这不是最佳方案,因为有更好的选择。

有什么问题?将资产添加到构建输出。那么,你能做什么:

  1. 通过npm install安装资产并将其保存在原始的package.json
  2. 调整gulpfile.js以复制输出目录中的文件。
  3. 如果第二步非常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.com/package/cp-cli代替cp