【发布时间】:2019-06-12 21:57:48
【问题描述】:
我正在构建一个 npm 包,它将接受来自项目根目录的自定义规则 - 类似于 prettier 在项目根目录中查找 .prettierrc 的方式。
在我的包中,我使用 webpack 来编译构建。我的应用程序使用了 react,我从外部引入,以便在运行时检索包,而不是在构建时捆绑。
webpack.config.js
module.exports = {
entry: "./src/index.js",
output: {...},
module: {...},
resolve: {
modules: [path.resolve("./src"), path.resolve("./node_modules")],
alias: {
react: path.resolve(__dirname, "./node_modules/react"),
"react-dom": path.resolve(__dirname, "./node_modules/react-dom")
}
},
externals: {
react: {
commonjs: "react",
commonjs2: "react",
amd: "React",
root: "React"
},
"react-dom": {
commonjs: "react-dom",
commonjs2: "react-dom",
amd: "ReactDOM",
root: "ReactDOM"
}
}
};
在externals 中,您可以看到我将react 和react-dom 从构建中排除。
现在,我需要一种从项目根目录导入常规settings.js 文件的方法,而不是从node_modules 导入库。 webpack 有这个能力吗?
到目前为止,我已经尝试使用externals 像这样导入它:
externals: {
react: {...},
"react-dom": {...},
"settings": { commonjs: "settings.js" }
}
我知道这是错误的,但是为了在运行时从项目目录导入外部 .js 文件,我可以做些类似的事情吗?
【问题讨论】:
标签: javascript reactjs npm webpack webpack-2