2016-11-29 94 views
1

我無法將nodejs的核心模塊加載到瀏覽器。如何使用webpack加載Nodejs核心模塊

xlsx庫取決於fs這是一個核心模塊,並加載我的應用程序產生cannot find module "fs"錯誤。

我做了一些谷歌上搜索一再結束了here - 說我要補充target:nodewebpack.config.js文件,但是,做了他認爲會產生另一個錯誤 - >process is not defined

我想知道是否有任何模塊裝載機那需要?我找不到任何。

webpack.config.js

module.exports = { 
    entry: "./app/boot", 
    output: { 
    path: __dirname, 
    filename: "./dist/bundle.js" 
    }, 
    resolve: { 
    extensions: ['', '.js', '.ts'] 
    }, 
    module: { 
    loaders: [ 
     { test: /\.ts/, loaders: ["ts-loader"], exclude: /node_modules/ } 
    ], 
    preLoaders: [ 
     // All output '.js' files will have any sourcemaps re-processed by 'source-map-loader'. 
     { test: /\.js$/, loader: "source-map-loader", exclude: ['node_modules', 'ext-*', 'lib', 'tools'] } 
    ] 
    }, 
    debug: true, 
    devtool: 'source-map' 
}; 

任何見解將大大apreciated,在此先感謝,並請讓我知道如果任何其他信息將是有益的。

我不使用babel也不gulp

回答

1

你不能。

沒有相當於fs,可以在瀏覽器中正常工作。在瀏覽器中執行的JavaScript出於安全原因正在沙箱中運行,並且您對客戶端文件系統which is what the module fs is used for in NodeJS的訪問權限非常有限。

+0

我明白了,這很有道理。那麼我應該怎麼做''使用'fs'來使用'xlsx'? –

+0

這取決於圖書館。你可以在沒有'fs'的情況下使用它嗎?通過來自服務器的HTTP請求手動加載文件?那就這樣做。否則,你將不得不尋找一個不同的庫。 – Timo

+0

這可能超出了問題的範圍,但更確切地說,我使用'ng2-file-uploader'從客戶端獲取文件並使用'node-xlsx'將文件解析爲對象,所有這些在沒有使用服務器的客戶端上,有什麼建議? –

相關問題