簡體   English   中英

在 Rails 刺激 controller 中找不到節點模塊

[英]Cannot find node module in rails stimulus controller

我在將我創建的 npm package 導入我的 Rails 應用程序時遇到問題。

我不確定問題是出在我創建節點 package 的方式上,還是出在 Rails 應用程序上。

package 很簡單 -> https://www.npmjs.com/package/test-release-stuff

現在,當我試圖將它導入 rails 時(我通過 yarn 安裝它,然后看到它在節點模塊中)並且我嘗試將它導入我的刺激 controller 它告訴我它找不到模塊。 錯誤字面意思是:

Error: Cannot find module 'test-release'stuff'

我如何導入模塊?

我正在做import foo from 'test-release-stuff'

需要注意的一件事是,當我在一個簡單的 React Todo 應用程序中嘗試它時,它被導入時沒有任何問題。

我有一種感覺,它可能與我的 Rails 應用程序中的 webpacker 配置有關(下面是配置),或者它可能與節點 packaga packgage.json文件有關,那里可能有些不正確。

const { webpackConfig, merge } = require('@rails/webpacker');
const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer');
const plugins = [];

if (process.env.ANALYZE === 'true') {
  plugins.push(new BundleAnalyzerPlugin());
}

const customConfig = {
  resolve: {
    extensions: ['.css'],
  },
  plugins: plugins,
};

module.exports = merge(webpackConfig, customConfig);

然后在生產/開發/測試文件中我有這樣的東西:

process.env.NODE_ENV = process.env.NODE_ENV || 'production';

const webpackConfig = require('./base');

module.exports = webpackConfig;

這是一個 Rails 6 項目。

事實證明,這既不是 Rails 應用程序故障,也不是節點 package 故障。

我正在容器內運行項目。 盡管我安裝了該節點 package 的先前版本,但在更新它時,更改未正確反映在容器內 - 我假設在某些時候實際的yarn命令未觸發或涉及一些緩存。

正確關閉容器后,運行docker-compose builddocker-compose up更改得到反映,我可以使用節點 package。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM