Webpack节点process.cwd()和path.resolve()返回'/'

编程入门 行业动态 更新时间:2024-10-08 18:39:27

Webpack<a href=https://www.elefans.com/category/jswz/34/1771452.html style=节点process.cwd()和path.resolve()返回'/'"/>

Webpack节点process.cwd()和path.resolve()返回'/'

几乎是标题,不确定我配置错误...我看过的其他解决方案建议添加target: node,但我正在使用webpack捆绑反应,因此我的目标不应为nodejs,对吗?

Webpack配置:

const path = require('path');
require('dotenv').config();
const mode = process.env.NODE_ENV;
console.log(mode);

module.exports = {
  entry: ['react-hot-loader/patch', path.resolve(__dirname, 'src')],
  output: {
    path: path.resolve(__dirname, '/public'),
    publicPath: '/public/js/',
    filename: 'bundle.js',
  },
  mode,
  module: {
    rules: [
      {
        enforce: 'pre',
        test: /\.(js|jsx)$/,
        loader: [{ loader: 'eslint-loader' }],
      },
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        loader: [
          {
            loader: 'babel-loader',
            query: { presets: ['@babel/preset-react'] },
          },
        ],
      },
    ],
  },
  resolve: {
    alias: { 'react-dom': '@hot-loader/react-dom' },
    modules: ['src', 'node_modules'],
    extensions: ['*', '.js', '.jsx'],
  },
  devtool: 'source-map',
  devServer: {
    historyApiFallback: true,
    hot: true,
    contentBase: './public',
    compress: true,
  },
  node: { __dirname: true, __filename: true },
console.log(__filename);     // returns src/components/Play/components/Lobby.jsx
console.log(__dirname);      // returns src/components/Play/components
console.log(process.cwd());  // returns /
console.log(path.resolve()); // returns /

添加更多文本以发布此内容。已添加更多详细信息以发布此内容。很抱歉,我不确定我能对我遇到的这个问题做更多的描述...

回答如下:

由于已配置node: { __dirname: true, __filename: true },因此在打包(__dirname)时,webpack将替换__filename和see docs。这就是为什么您在代码运行时看到期望从console.log(__dirname)获得的值的原因。请记住,捆绑后目录src/components/Play/components/实际上并不存在-您的所有代码都在单个bundle.js文件中。

关于process.cwd(),当您的代码在Web浏览器中运行时,您希望获得当前工作目录的什么?在浏览器中运行的代码无法访问编写代码的文件系统,因此,将/作为cwd返回似乎很合理。

更多推荐

Webpack节点process.cwd()和path.resolve()返回'/'

本文发布于:2024-05-07 10:24:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1755813.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:节点   process   Webpack   cwd   resolve

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!