加载本地 ParcelJS 插件
Loading a local ParcelJS plugin
我想创建一个插件,以便我可以使用包裹原始加载某种类型的文件。包裹文档指出:
Publish this package on npm using parcel-plugin-
or @your-scope/parcel-plugin-
prefixes, and it will be automatically detected and loaded as described below.
...
Any dependencies listed in package.json
with these prefixes will automatically be loaded during initialization.
由于这是一次性的事情,我不想将代码作为插件发布到 npm 上。如何使用 parcel 加载我的项目本地插件?
提前致谢。
由于我找不到以 parcel
方式执行此操作的方法,因此我以 npm
方式执行此操作:
我创建了一个名为 local_modules
的文件夹(这可以是任何你想要的。)然后在 local_modules
中创建了 parcel-plugin-x
。在里面,我像往常一样创建了我的插件。我还创建了一个 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",
添加到根 package.json
。 这是在 npm 中加载本地模块的标准方式。 而且每次对插件进行更改时,都必须 运行 npm upgrade
。您还应该增加插件的版本。这会将插件复制到 node_modules
并安装依赖项。
根据 parceljs 文档:
Any dependencies listed in package.json with these prefixes will
automatically be loaded during initialization.
现在可以了! :)
我做了类似的事情,但 npm link。
在插件文件夹中 (parcel-plugin-x) 运行: npm link
.
项目文件夹中使用插件:
- Link 到 parcel-plugin-x:
npm link parcel-plugin-x
- 在
package.json
文件中,手动添加对parcel-plugin-x
的依赖
package.json
"devDependencies": {
"parcel-plugin-x": "^0"
}
每次对插件进行更改时,您不必 运行 npm upgrade
,但您可能必须删除由 parcel 创建的 .cache
文件夹,因为 parcel 将跳过处理缓存的资产。
我认为您可以使用 package.json
中的工作区选项来完成此操作:https://docs.npmjs.com/cli/v7/using-npm/workspaces
这个库似乎正在实现它:https://github.com/astegmaier/Whosebug-parcel-namer
我想创建一个插件,以便我可以使用包裹原始加载某种类型的文件。包裹文档指出:
Publish this package on npm using
parcel-plugin-
or@your-scope/parcel-plugin-
prefixes, and it will be automatically detected and loaded as described below.
...
Any dependencies listed inpackage.json
with these prefixes will automatically be loaded during initialization.
由于这是一次性的事情,我不想将代码作为插件发布到 npm 上。如何使用 parcel 加载我的项目本地插件?
提前致谢。
由于我找不到以 parcel
方式执行此操作的方法,因此我以 npm
方式执行此操作:
我创建了一个名为 local_modules
的文件夹(这可以是任何你想要的。)然后在 local_modules
中创建了 parcel-plugin-x
。在里面,我像往常一样创建了我的插件。我还创建了一个 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",
添加到根 package.json
。 这是在 npm 中加载本地模块的标准方式。 而且每次对插件进行更改时,都必须 运行 npm upgrade
。您还应该增加插件的版本。这会将插件复制到 node_modules
并安装依赖项。
根据 parceljs 文档:
Any dependencies listed in package.json with these prefixes will automatically be loaded during initialization.
现在可以了! :)
我做了类似的事情,但 npm link。
在插件文件夹中 (parcel-plugin-x) 运行: npm link
.
项目文件夹中使用插件:
- Link 到 parcel-plugin-x:
npm link parcel-plugin-x
- 在
package.json
文件中,手动添加对parcel-plugin-x
的依赖
package.json
"devDependencies": {
"parcel-plugin-x": "^0"
}
每次对插件进行更改时,您不必 运行 npm upgrade
,但您可能必须删除由 parcel 创建的 .cache
文件夹,因为 parcel 将跳过处理缓存的资产。
我认为您可以使用 package.json
中的工作区选项来完成此操作:https://docs.npmjs.com/cli/v7/using-npm/workspaces
这个库似乎正在实现它:https://github.com/astegmaier/Whosebug-parcel-namer