reactjs 从项目的node_modules向模块添加符号链接

5kgi1eie  于 2023-01-12  发布在  React
关注(0)|答案(2)|浏览(250)

我有一个scss文件夹以外的/src文件夹在我的项目结构,这就是为什么React愤怒的bu

Failed to compile.

./src/index.js
Module not found: You attempted to import ../scss/style.scss which falls outside of the project src/ directory. Relative imports outside of src/ are not supported. You can either move it inside src/, or add a symlink to
it from project's node_modules/.

下面是我的index.js文件:

import '../scss/style.scss'

ReactDOM.render(
<HashRouter>
    <Switch>
        <Route path="/" name="Home Page" component={Full}/>  
    </Switch>
</HashRouter>, 
    document.getElementById('root'));
registerServiceWorker();

这是style.scss文件的内容:

// Override Boostrap variables
@import "bootstrap-variables";

// Import Bootstrap source files
@import "node_modules/bootstrap/scss/bootstrap";

// Override core variables
@import "core-variables";

// Import core styles
@import "core/core";

// Custom styles
@import "custom";

我搜索了很多,并了解到它不允许导入它以外的/src目录..我怎么能“添加一个符号链接”作为React建议我这样做,或者我怎么能修复它的其他方式?

已编辑:如果我将scss移动到/src文件夹:

./src/scss/style.scss
Module build failed:
undefined
^
      File to import not found or unreadable: bootstrap.
Parent style sheet: stdin
      in D:\Repositories\facereco\src\scss\style.scss (line 14, column 1)
tktrz96b

tktrz96b1#

如果你想做一个符号链接,请查看npm文档。
总之

  • 带着你的软件包去字典,在你的例子中是scss文件

cd ../scss
npm link

  • 下一步去一些其他的位置和:

npm link <your_package>
你已经得到了!

pw136qt2

pw136qt22#

您也可以使用symlink-dir包,例如,如果您在项目根目录之外有一个名为common的文件夹,那么您可以使用postinstall脚本来配置package.json,该脚本会创建一个符号链接:

"scripts": {
  "link-common": "node_modules/.bin/symlink-dir ../common src/common",
  "postinstall": "npm run link-common"
},

相关问题