Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入模块中的Rails网页包错误:Can';t在生产中解析application.js(Heroku)_Javascript_Node.js_Ruby On Rails_Heroku_Webpack - Fatal编程技术网

Javascript 输入模块中的Rails网页包错误:Can';t在生产中解析application.js(Heroku)

Javascript 输入模块中的Rails网页包错误:Can';t在生产中解析application.js(Heroku),javascript,node.js,ruby-on-rails,heroku,webpack,Javascript,Node.js,Ruby On Rails,Heroku,Webpack,我有一个带有Webpacker的Rails 6应用程序。 在开发过程中一切都很好,但是当我尝试推到Heroku时,我在尝试解析入口路径时遇到了一个错误 Error: Can't resolve '/application.js' in '/tmp/build_7eddbca060f445328dcebb3128a5bc19' 因此,我将webpack.config.js中的上下文和条目函数修改为: context: path.resolve(__dirname, '../../app/java

我有一个带有Webpacker的Rails 6应用程序。 在开发过程中一切都很好,但是当我尝试推到Heroku时,我在尝试解析入口路径时遇到了一个错误

Error: Can't resolve '/application.js' in '/tmp/build_7eddbca060f445328dcebb3128a5bc19'
因此,我将webpack.config.js中的上下文和条目函数修改为:

context: path.resolve(__dirname, '../../app/javascript/packs'),
entry: { 
        application: 'application.js',
},
然而,这给了我以下错误,即使这是我的application.js文件的位置

ERROR in Entry module not found: Error: Can't resolve 'application.js' in '/app/javascript/packs'
remote: error Command failed with exit code 2.
有人知道原因吗

webpack.config.js

const path = require('path');

module.exports = env => {

    let prod = env !== undefined && env.production === true;

    return {

        devtool: prod ? 'source-map' : 'eval-cheap-module-source-map',

        context: path.resolve(__dirname, '../../app/javascript/packs'),
        entry: { 
                application: 'application.js',
        },
        resolve: {
                extensions: ['.js', '.jsx']
        },
        performance: {
                hints: false,
                maxEntrypointSize: 512000,
                maxAssetSize: 512000
        },

        output: {
               path: path.resolve(__dirname, '../../dist/'), 
               filename: prod ? "[name].bundle.js" : "[name].js"
        },

        optimization: {
                splitChunks: {
                chunks: 'all',
                },
        },
   }
}
package.json

{
  "private": true,
  "scripts": {
    "webpack": "webpack",
    "start": "webpack-dev-server --open",
    "dev": "webpack --mode=development",
    "build": "webpack --mode=production --env.production"
  },
  "devDependencies": {
    "@babel/core": "^7.9.0",
    "@babel/preset-env": "^7.9.0",
    "autoprefixer": "^9.7.5",
    "babel-loader": "^8.1.0",
    "clean-webpack-plugin": "^3.0.0",
    "css-loader": "^3.4.2",
    "file-loader": "^6.0.0",
    "html-webpack-plugin": "^4.0.4",
    "mini-css-extract-plugin": "^0.9.0",
    "node-sass": "^4.13.1",
    "postcss-font-magician": "^2.3.1",
    "postcss-loader": "^3.0.0",
    "sass-loader": "^8.0.2",
    "style-loader": "^1.1.3",
    "url-loader": "^4.0.0",
    "webpack": "^4.42.1",
    "webpack-dev-server": "^3.11.0"
  },
  "dependencies": {
    "@fortawesome/fontawesome-free": "^5.11.2",
    "@popperjs/core": "^2.3.3",
    "@rails/actioncable": "^6.0.0",
    "@rails/actiontext": "6.0.2-1",
    "@rails/activestorage": "^6.0.0",
    "@rails/ujs": "^6.0.0",
    "@rails/webpacker": "4.2.2",
    "ahoy.js": "^0.3.5",
    "bootstrap": "^4.4.1",
    "chart.js": "^2.9.3",
    "chartkick": "^3.2.0",
    "expose-loader": "^0.7.5",
    "imports-loader": "^0.8.0",
    "jquery": "^3.5.1",
    "jquery-ujs": "^1.2.2",
    "local-time": "^2.1.0",
    "popper.js": "^1.14.1",
    "quill": "^1.3.6",
    "rails-erb-loader": "^5.5.2",
    "trix": "1.0.0",
    "turbolinks": "^5.2.0",
    "webpack": "^4.42.1",
    "webpack-cli": "^3.3.11"
  },
  "version": "0.1.0"
}
webpacker.yml

# Note: You must restart bin/webpack-dev-server for changes to take effect

default: &default
  source_path: app/javascript
  source_entry_path: packs
  public_root_path: public
  public_output_path: packs
  cache_path: tmp/cache/webpacker
  webpack_compile_output: true

  # Additional paths webpack should lookup modules
  # ['app/assets', 'engine/foo/app/assets']
  resolved_paths: ['app/assets']

  # Reload manifest.json on all requests so we reload latest compiled packs
  cache_manifest: false

  # Extract and emit a css file
  extract_css: false

  static_assets_extensions:
    - .jpg
    - .jpeg
    - .png
    - .gif
    - .tiff
    - .ico
    - .svg
    - .eot
    - .otf
    - .ttf
    - .woff
    - .woff2

  extensions:
    - .erb
    - .mjs
    - .js
    - .sass
    - .scss
    - .css
    - .module.sass
    - .module.scss
    - .module.css
    - .png
    - .svg
    - .gif
    - .jpeg
    - .jpg

production:
  <<: *default

  # Production depends on precompilation of packs prior to booting for performance.
  compile: false

  # Extract and emit a css file
  extract_css: true

  # Cache manifest.json for performance
  cache_manifest: true

  # Verifies that correct packages and versions are installed by inspecting package.json, yarn.lock, and node_modules
  check_yarn_integrity: false

#注意:要使更改生效,必须重新启动bin/webpack dev服务器
默认值:&默认值
源路径:app/javascript
来源\输入\路径:包
public\u root\u路径:public
公共\u输出\u路径:包
缓存路径:tmp/cache/webpacker
网页包编译输出:true
#Web包应提供其他路径查找模块
#['app/assets'、'engine/foo/app/assets']
已解析的路径:['app/assets']
#在所有请求上重新加载manifest.json,以便重新加载最新编译的包
缓存清单:false
#提取并发出css文件
提取css:false
静态资源扩展:
-jpg先生
-.jpeg
-.png
-.gif
-蒂芙先生
-.ico
-.svg
-.eot
-.otf
-.ttf
-沃夫先生
-woff2先生
扩展:
-B.雇员再培训局
-mjs先生
-.js
-萨斯先生
-.scss
-.css
-.module.sass
-.module.scss
-.module.css
-.png
-.svg
-.gif
-.jpeg
-jpg先生
制作:

通过删除上下文而不是显式设置入口路径修复了此问题

entry: './app/javascript/packs/application.js',

通过删除上下文而不是显式设置入口路径修复了此问题

entry: './app/javascript/packs/application.js',