W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
處理 Node.js 插件(add-ons) 的 loader。
允許使用 .node 拓展名與原生 node module 相關聯(lián)。
? node-loader 只對 node/electron-main/electron-main/electron-renderer/electron-preload 生效。
首先,你需要安裝 node-loader:
$ npm install node-loader --save-dev
設置 target 配置項為 node/async-node/electron-main/electron-renderer/electron-preload,并且需禁用 ?__dirname
? 全局變量。
webpack.config.js
module.exports = {
target: 'node',
node: {
__dirname: false,
},
module: {
rules: [
{
test: /\.node$/,
loader: 'node-loader',
},
],
},
};
index.js
import node from 'node-loader!./file.node';
然后通過你喜歡的方式運行 webpack。
index.js
import node from 'file.node';
然后在你的 webpack 配置中添加該 loader。例如:
webpack.config.js
module.exports = {
target: 'node',
node: {
__dirname: false,
},
module: {
rules: [
{
test: /\.node$/,
loader: 'node-loader',
},
],
},
};
然后通過你喜歡的方式運行 webpack。
Name | Type | Default | Description |
---|---|---|---|
flags
|
{Number}
|
undefined
|
啟用/禁用 url /image-set 函數(shù)處理 |
name
|
{String|Function}
|
'[contenthash].[ext]'
|
指定一個或多個目標文件的自定義文件名模板。 |
類型:?Number
? 默認值:undefined
flags 參數(shù)是一個允許指定 dlopen 行為的整數(shù)。 [https://nodejs.org/api/process.html#process_process_dlopen_module_filename_flags] 文檔了解更多。
index.js
import node from 'file.node';
webpack.config.js
const os = require('os');
module.exports = {
target: 'node',
node: {
__dirname: false,
},
module: {
rules: [
{
test: /\.node$/,
loader: 'node-loader',
options: {
flags: os.constants.dlopen.RTLD_NOW,
},
},
],
},
};
類型:?String|Function
? 默認值:?'[contenthash].[ext]'
?
指定一個或多個目標文件的自定義文件名模板。
webpack.config.js
module.exports = {
target: 'node',
node: {
__dirname: false,
},
module: {
rules: [
{
test: /\.node$/,
loader: 'node-loader',
options: {
name: '[path][name].[ext]',
},
},
],
},
};
webpack.config.js
module.exports = {
target: 'node',
node: {
__dirname: false,
},
module: {
rules: [
{
test: /\.node$/,
loader: 'node-loader',
options: {
name(resourcePath, resourceQuery) {
// `resourcePath` - `/absolute/path/to/file.js`
// `resourceQuery` - `?foo=bar`
if (process.env.NODE_ENV === 'development') {
return '[path][name].[ext]';
}
return '[contenthash].[ext]';
},
},
},
],
},
};
如果你還未閱讀貢獻指南,請抽時間進行閱讀。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: