Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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 巴别塔/网页包:找不到“;yaml装载机“;(开发中的工程,而非生产)_Javascript_Node.js_Webpack_Babeljs - Fatal编程技术网

Javascript 巴别塔/网页包:找不到“;yaml装载机“;(开发中的工程,而非生产)

Javascript 巴别塔/网页包:找不到“;yaml装载机“;(开发中的工程,而非生产),javascript,node.js,webpack,babeljs,Javascript,Node.js,Webpack,Babeljs,下面是令人不快的代码行: import Channel from '!json-loader!yaml-loader!../../../../config/channel.yml' 如您所见,我正在使用s以绕过正常的导入加载程序逻辑,这样我就可以在编译时将解析后的YAML文件作为局部变量导入 这在开发(使用webpack dev server)中非常有效,但在生产中失败: Module not found: Error: Can't resolve 'yaml-loader' in '/var

下面是令人不快的代码行:

import Channel from '!json-loader!yaml-loader!../../../../config/channel.yml'
如您所见,我正在使用
s以绕过正常的导入加载程序逻辑,这样我就可以在编译时将解析后的YAML文件作为局部变量导入

这在开发(使用webpack dev server)中非常有效,但在生产中失败:

Module not found: Error: Can't resolve 'yaml-loader' in '/var/www/www.avfacts.org/releases/20180205125420/app/frontend/views/Episodes'
 @ /var/www/www.avfacts.org/shared/node_modules/babel-loader/lib!/var/www/www.avfacts.org/shared/node_modules/vue-loader/lib/selector.js?type=script&index=0!./app/frontend/views/Episodes/Form.vue 87:0-78
 @ ./app/frontend/views/Episodes/Form.vue
 @ /var/www/www.avfacts.org/shared/node_modules/babel-loader/lib!/var/www/www.avfacts.org/shared/node_modules/vue-loader/lib/selector.js?type=script&index=0!./app/frontend/views/Episodes/Edit.vue
 @ ./app/frontend/views/Episodes/Edit.vue
 @ ./app/frontend/routes.js
 @ ./app/frontend/packs/application.js
这是我的package.json文件:

{
  "name": "avfacts",
  "private": true,
  "dependencies": {
    "@panter/vue-i18next": "^0.9.1",
    "@rails/webpacker": "^3.2.1",
    "axios": "^0.17.1",
    "babel-polyfill": "^6.26.0",
    "babel-preset-minify": "^0.2.0",
    "i18next": "^10.3.0",
    "lodash": "^4.17.4",
    "luxon": "^0.4.0",
    "marked": "^0.3.12",
    "moment": "^2.20.1",
    "moment-duration-format": "^2.2.1",
    "normalize.css": "^7.0.0",
    "numeral": "^2.0.6",
    "precss": "^3.1.0",
    "simplemde": "^1.11.2",
    "vue": "^2.5.13",
    "vue-datetime": "^1.0.0-beta.2",
    "vue-loader": "^13.7.0",
    "vue-router": "^3.0.1",
    "vue-template-compiler": "^2.5.13",
    "vuex": "^3.0.1",
    "weekstart": "^1.0.0"
  },
  "devDependencies": {
    "babel-plugin-transform-async-to-generator": "^6.24.1",
    "webpack-dev-server": "^2.11.1",
    "yaml-loader": "^0.5.0"
  }
}

(是的,我确实尝试过将
yaml加载程序
devdependences
移动到
依赖项
,尽管这不应该起作用,而且确实不起作用)

您是否在webpack.config.js中添加了加载程序

//webpack.config.js

module: {
  loaders: [
    {
      test: /\.yaml$/,
      include: path.resolve('data'),
      loader: 'yaml',
    },
  ],
}

正如在

中提到的那样,您是否在webpack.config.js中添加了加载器

//webpack.config.js

module: {
  loaders: [
    {
      test: /\.yaml$/,
      include: path.resolve('data'),
      loader: 'yaml',
    },
  ],
}

正如在编辑中提到的:不,不是这样。我用yaml-js-loader替换了yaml-loader,今天到此为止。仍然不确定问题出在哪里

通过在我的
Capfile
中禁用
require'capistrano/rails/assets
,从而禁用正常的rails链轮资产编译(此任务也运行
warn install
,但显然是在不同的环境或其他环境中运行的),似乎解决了此问题


现在只有
capistrano/warn
任务运行,它们成功地执行了Webpack资产编译。

编辑:不,不是这样。我用yaml-js-loader替换了yaml-loader,今天到此为止。仍然不确定问题出在哪里

通过在我的
Capfile
中禁用
require'capistrano/rails/assets
,从而禁用正常的rails链轮资产编译(此任务也运行
warn install
,但显然是在不同的环境或其他环境中运行的),似乎解决了此问题


现在只有
capistrano/warn
任务运行,它们成功地执行了Webpack资产编译。

谢谢,我尝试过了,它没有改变任何东西。我对使用内联加载程序语法(
import foo from'!loader name!path/to/file'
)的理解是,不管它是否在您的加载程序配置中,我想。谢谢,我已经尝试过了,它没有改变任何东西。我对使用内联加载程序语法(
import foo from'!loader name!path/to/file'
)的理解是,它是否在加载程序配置中并不重要。