我在Symfony 3.4项目中第一次配置webpack.config.js时遇到了问题。 我下载了symfony的文档来安装和配置安可,但我不知道为什么我总是这个错误:
$ yarn run encore dev
yarn run v1.6.0
$ [my_root_project_path]\node_modules\.bin\encore dev
Running webpack ...
ERROR Failed to compile with 1 errors10:01:31
error
Entry module not found: Error: Can't resolve 'web/build/app.js' in '[my_root_project_path]'
error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
我的webpack.config.js文件是这样的:
// webpack.config.js
var Encore = require('@symfony/webpack-encore');
Encore
.setOutputPath('web/build/')
.setPublicPath('/build')
.addEntry('app', 'web/build/app.js')
.autoProvidejQuery()
.enableSourceMaps(!Encore.isProduction())
.cleanupOutputBeforeBuild()
;
module.exports = Encore.getWebpackConfig();
问题来自对Encore没有的文件的权限吗?无论如何,我迷路了,我不知道该怎么做。
配置:
注意: 我知道可能还有另一个同类问题的帖子,但我认为目前我已经测试了所有内容并且我的问题仍然存在。我总是在听,如果你认为有一个可以解决我问题的stackoverflow帖子,我会让你与我分享。
答案 0 :(得分:1)
您的问题出在addEntry路径
.addEntry('app', 'web/build/app.js')
,它没有指向正确的文件。正确的语法是:
.addEntry(<name_of_the_entry>, <path_to_the_entry>)
其中path_to_the_entry必须指向要在构建中添加的js文件,而不是直接指向构建路径。此文件应位于其他文件夹中,例如&#39; your_project_root /资产/ JS / your_js_file.js&#39;如doc。
中所述Encore将在您的web / build文件夹中创建相应的.js文件(如果您在.js文件中添加了.css,则可能为.css),以便您的用户可以访问这些文件。