Node.js 带有第二个package.json的模式实验室

Node.js 带有第二个package.json的模式实验室,node.js,npm,patternlab.io,Node.js,Npm,Patternlab.io,我已经建立了一个模式实验室,并希望使用NPM来管理UI依赖项,如jQuery、D3和其他。模式实验室的设置使开发在“源”文件夹中进行,该文件夹被编译并移动到“公共”文件夹中。公用文件夹的根在服务时成为应用程序的根 目前,我手动包括jQuery等资产。我认为,在用于运行所有Pattern Lab Node的package.json文件中管理jQuery之类的依赖项会更好,但Node_modules文件夹存在于Public之外,因此我无法在实时应用程序中引用它 到目前为止,我似乎有两个选择: 按原样

我已经建立了一个模式实验室,并希望使用NPM来管理UI依赖项,如jQuery、D3和其他。模式实验室的设置使开发在“源”文件夹中进行,该文件夹被编译并移动到“公共”文件夹中。公用文件夹的根在服务时成为应用程序的根

目前,我手动包括jQuery等资产。我认为,在用于运行所有Pattern Lab Node的package.json文件中管理jQuery之类的依赖项会更好,但Node_modules文件夹存在于Public之外,因此我无法在实时应用程序中引用它

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

  • 按原样继续,忘记这些资产的包管理
  • 使用jQuery和其他工具在Public中创建第二个package.json,这看起来有些草率 创建第二个package.json这么糟糕吗?
    我没有考虑其他的选择吗?< /P> < P>创建第二个包裹。JSON并不是那么糟糕(当你知道你正在做什么和如何做)。但是,在您的特定情况下,这并不是最佳方案,因为还有更好的选择

    有什么问题?将资产添加到生成输出。那么,您可以做什么:

  • 通过
    npm install
    安装资产,并将其保存在原始package.json中
  • 调整
    gulpfile.js
    以复制输出目录中的文件
  • 如果第二步太粗糙/有问题,也可以用simple package.json
    scripts
    change(添加
    build
    script)替换:


    然后将其作为
    npm run build
    运行。如果您需要支持Windows,您可以使用而不是
    cp

    谢谢您的回复。我们决定将node_modules文件夹复制到公共目录中,就像您在选项2中建议的那样。我们在package.json中添加了一个脚本来执行复制。因为Patternlab有很多依赖项,所以第一次复制确实需要一段时间,但我的队友和我都认为这是最简单的方法,也最不可能引起混淆。
    "scripts": {
      "gulp": "gulp -- ",
      "build": "npm run gulp && cp -R node_modules/jquery/dist/blablabla.js mypublicdir/blablabla.js"
    },