在npm中使用局部less

在npm中使用局部less,npm,less,package.json,Npm,Less,Package.json,是否存在通过npm脚本运行less的既定模式 例如,在我的package.json文件中,我有: { "name": "lesstest", "description": "less test", "main": "dist/index.js", "scripts": { "build:css": "./node_modules/less/bin/lessc src/less/app.less dist/style.css" }, "devDependencies

是否存在通过npm脚本运行less的既定模式

例如,在我的package.json文件中,我有:

{
  "name": "lesstest",
  "description": "less test",
  "main": "dist/index.js",
  "scripts": {
    "build:css": "./node_modules/less/bin/lessc src/less/app.less dist/style.css"
  },
  "devDependencies": {
    "less": "^2.6.0",
  }
}
运行:

./node_modules/less/bin/lessc src/less/app.less dist/style.css
“从终点站”工作正常,但当我跑步时

npm运行构建:css

I get“.”未被识别为内部或外部命令, 这是否意味着npm脚本中的命令不能包含路径?如果是这样的话,有没有什么技术可以在不使用gulp的情况下执行类似的意图?

您可以使用
“lessc src/less/app.less dist/style.css”


默认情况下,package.json会在您的node_modules文件夹中查找,如果找不到,则会在其他地方查找,这样您就可以安全地使用下载的依赖项,就像您已经全局安装了它一样。

我只想澄清一下@JRJurman的答案。您可以这样使用
lessc

{
  "name": "lesstest",
  "description": "less test",
  "scripts": {
    "build:css": "lessc src/less/app.less > dist/style.css"
  },
  "devDependencies": {
    "less": "^3.0.0",
  }
}
{
  "name": "lesstest",
  "description": "less test",
  "scripts": {
    "build:css": "lessc src/less/app.less > dist/style.css"
  },
  "devDependencies": {
    "less": "^3.0.0",
  },
  "dependencies": {
    "@foo/bar": "^1.0.0"
  }
}
@import "@foo/bar/src/a-less-file";

作为npm中更少的更全面的模式:您通常还需要集成更少的文件依赖项。
package.json
如下所示:

{
  "name": "lesstest",
  "description": "less test",
  "scripts": {
    "build:css": "lessc src/less/app.less > dist/style.css"
  },
  "devDependencies": {
    "less": "^3.0.0",
  }
}
{
  "name": "lesstest",
  "description": "less test",
  "scripts": {
    "build:css": "lessc src/less/app.less > dist/style.css"
  },
  "devDependencies": {
    "less": "^3.0.0",
  },
  "dependencies": {
    "@foo/bar": "^1.0.0"
  }
}
@import "@foo/bar/src/a-less-file";

在本地
baz.less
文件中,您可以这样引用依赖项:

{
  "name": "lesstest",
  "description": "less test",
  "scripts": {
    "build:css": "lessc src/less/app.less > dist/style.css"
  },
  "devDependencies": {
    "less": "^3.0.0",
  }
}
{
  "name": "lesstest",
  "description": "less test",
  "scripts": {
    "build:css": "lessc src/less/app.less > dist/style.css"
  },
  "devDependencies": {
    "less": "^3.0.0",
  },
  "dependencies": {
    "@foo/bar": "^1.0.0"
  }
}
@import "@foo/bar/src/a-less-file";

  • @foo
    指的是
    节点\u模块中的相应文件夹
    文件夹和
    bar/src
    是嵌套文件夹
  • a-less-file
    参考 到
    node\u modules/@foo/bar/src中的
    a-less-file.less

@OussamaEssamadi请查看我的答案以获得澄清。您不能在命令行中运行它,但该行必须是
包.json的
脚本部分的一部分。我后来发现@Sandro可以使用npx。