Javascript 从网页包别名获取扩展路径
是否有一种从webpack配置获取webpack别名的好方法:Javascript 从网页包别名获取扩展路径,javascript,reactjs,webpack,Javascript,Reactjs,Webpack,是否有一种从webpack配置获取webpack别名的好方法: config.resolve.alias = { NormalizeNodePath: (__dirname, 'node_modules/normalize.css/normalize.css'), BluePrintIconsNodePath: (__dirname, 'node_modules/@blueprintjs/icons/lib/css/blueprint-icons.css'), BluePrintCo
config.resolve.alias = {
NormalizeNodePath: (__dirname, 'node_modules/normalize.css/normalize.css'),
BluePrintIconsNodePath: (__dirname, 'node_modules/@blueprintjs/icons/lib/css/blueprint-icons.css'),
BluePrintCoreNodePath: (__dirname, 'node_modules/@blueprintjs/core/lib/css/blueprint.css')
}
并在javascript中将其作为字符串公开?您可以使用将全局变量注入到代码中
示例
const alias = {
NormalizeNodePath: (__dirname, "node_modules/normalize.css/normalize.css"),
BluePrintIconsNodePath: (__dirname, "node_modules/@blueprintjs/icons/lib/css/blueprint-icons.css"),
BluePrintCoreNodePath: (__dirname, "node_modules/@blueprintjs/core/lib/css/blueprint.css")
};
const config = {
resolve: {
alias
},
plugins: [new webpack.DefinePlugin(alias)]
};
如果我正确理解这个问题,有几种方法可以实现这一点
因此,您想使用
连接(uu dirname,“…”)
字符串,将其用作别名并在您的代码库中?我只是想找到一些方法来保存字符串,并能够在代码库中使用它,如果有更好的方法在我想知道的网页中这样做的话。
// paths.js
const NormalizeNodePath = join(__dirname, 'node_modules/normalize.css/normalize.css')
module.exports = {
NormalizeNodePath,
}
// webpack.config.js
const { NormalizeNodePath } = require('./paths')
// use it in alias config
// src/whatever.js
const { NormalizeNodePath } = require('../paths')
// use in your code
const NormalizeNodePath = join(__dirname, 'node_modules/normalize.css/normalize.css')
module.exports = {
// other config...
resolve: {
alias: {
NormalizeNodePath
},
},
plugins: [
new webpack.DefinePlugin({
NormalizeNodePath,
})
]
}
// Use the variable name `NormalizeNodePath` in your code