javascript - react 服務端渲染怎么處理less文件
問題描述
背景:用react.js + node 實現react組件服務端渲染。
由于當前 node 還不支持 import,我用nodemon --harmony server.js --exec babel-node命令執行,其中server.js是后端入口文件,這樣是可以支持 import 了,但是當我使用 antd 的 Button 組件時卻報不支持 @import, 因為 antd 的 button 組件導入了 default.less,怎樣才能解決這個問題呢?
server.js
import React, { Component } from ’react’;import { renderToString } from ’react-dom/server’import { Button } from ’antd’;var Koa = require(’koa’);var app = new Koa();const render = require(’koa-ejs’);const path = require(’path’);render(app, { root: path.join(__dirname, ’server/view’), layout: ’template’, viewExt: ’html’, cache: false, debug: true});app.use(async function (ctx, next){ const html = renderToString( <Button>hello</Button> ); await ctx.render(’demo’, {’html’: html});});app.keys = [’i love yuewen’];app.listen(3000);
報錯如下:
/Users/joy.hu/Sites/yue/node_modules/antd/lib/style/index.less:1(function (exports, require, module, __filename, __dirname) { @import './themes/default'; ^SyntaxError: Invalid or unexpected token at createScript (vm.js:53:10) at Object.runInThisContext (vm.js:95:10) at Module._compile (module.js:543:28) at Module._extensions..js (module.js:580:10) at Object.require.extensions.(anonymous function) [as .js] (/Users/joy.hu/Sites/yue/node_modules/babel-register/lib/node.js:152:7) at Module.load (module.js:488:32) at tryModuleLoad (module.js:447:12) at Function.Module._load (module.js:439:3) at require (internal/module.js:20:19) at Object.<anonymous> (/Users/joy.hu/Sites/yue/node_modules/antd/lib/button/style/index.js:3:1)[nodemon] app crashed - waiting for file changes before starting...
問題解答
回答1:https://babeljs.io/docs/usage...
https://github.com/babel/exam...
相關文章:
1. python如何不改動文件的情況下修改文件的 修改日期2. javascript - 請教大俠,webpack打包圖片的時候,頁面上顯示不出來,還有網站根目錄的疑問?3. javascript - vue項目里的package.json4. python - 在django內如何讓后臺增加的文章自動加上是哪個用戶編輯的呢?5. python - 能通過CAN控制一部普通的家用轎車嗎?6. javascript - 有沒有類似高鐵管家的時間選擇插件7. javascript - webpack打包問題8. python - 在寫一個爬蟲,源代碼里面沒有csrf token,要如何獲取到?9. javascript - js怎么判斷input輸入的值是數字,不小于等于0,不使用alert,而在同一行上用紅色字體提示用戶10. javascript - 使用 vuex-router-sync寄存路由信息,this.$router params 不能賦值?
