我想创建一个插件,以便我可以使用包裹原始加载某种类型的文件。包裹文档指出:
parcel-plugin-
使用or前缀在 npm 上发布这个包@your-scope/parcel-plugin-
,它会被自动检测和加载,如下所述。
...使用这些前缀
列出的任何依赖package.json
项都将在初始化期间自动加载。
由于这是一次性的,我不想在 npm 上将代码作为插件发布。如何使用包裹加载我的项目本地插件?
提前致谢。
我想创建一个插件,以便我可以使用包裹原始加载某种类型的文件。包裹文档指出:
parcel-plugin-
使用or前缀在 npm 上发布这个包@your-scope/parcel-plugin-
,它会被自动检测和加载,如下所述。
...使用这些前缀
列出的任何依赖package.json
项都将在初始化期间自动加载。
由于这是一次性的,我不想在 npm 上将代码作为插件发布。如何使用包裹加载我的项目本地插件?
提前致谢。
由于我找不到以某种方式执行此操作的parcel
方法,因此我以某种方式执行了此操作npm
:
我创建了一个名为local_modules
(这可以是您想要的任何内容)的文件夹。然后parcel-plugin-x
在local_modules
. 在里面,我像往常一样创建了我的插件。我还创建了一个package.json
指定入口点main
。您可以指定模块所需的依赖项,就像这是一个单独的项目一样(这就是!)。
{
"name": "parcel-plugin-x",
"version": "0.1.0",
"description": "Parcel plugin x",
"main": "index.js",
"devDependencies": {
},
"dependencies": {
}
}
目录结构:
project-folder---local_modules---parcel-plugin-x
|---package.json |
|---index.js
|---package.json
然后我跑进npm i --save-dev .local_modules/parcel-plugin-x
了project-folder
. 它将该行添加"parcel-plugin-x": "./local_modules/parcel-plugin-x",
到 root package.json
。这是在 npm 中加载本地模块的标准方式。每次对插件进行更改时,都必须运行npm upgrade
. 您还应该增加插件的版本。这会将插件复制到node_modules
并安装依赖项。
根据 parceljs 文档:
package.json 中列出的带有这些前缀的任何依赖项都将在初始化期间自动加载。
现在它起作用了!:)
我做了类似的事情,但使用npm link。
在插件文件夹(parcel-plugin-x)中运行:npm link
.
在使用插件的项目文件夹中:
npm link parcel-plugin-x
package.json
文件中,手动将依赖项添加到parcel-plugin-x
package.json
"devDependencies": {
"parcel-plugin-x": "^0"
}
每次对插件进行更改时,您不必运行npm upgrade
,但您可能必须删除.cache
parcel 创建的文件夹,因为 parcel 将跳过处理缓存资产。
我认为您可以使用以下中的工作区选项来执行此操作package.json
:https ://docs.npmjs.com/cli/v7/using-npm/workspaces
这个库似乎正在实现它:https ://github.com/astegmaier/stackoverflow-parcel-namer